Commit Graph

186 Commits

Author SHA1 Message Date
Alex Smith 65ad1ba320 Made it possible to build the bootloader when targetting x86_64.
* x86_64 is using the existing *_ia32 boot platforms.
* Special flags are required when compiling the loader to get GCC to compile
  32-bit code. This adds a new set of rules for compiling boot code rather
  than using the kernel rules, which compile using the necessary flags.
* Some x86_64 private headers have been stubbed by #include'ing the x86
  versions. These will be replaced later.
2012-05-26 21:47:27 +01:00
François Revol 3884764492 Include BoardSetup from BuildSetup
* while it seemed to work before, BuildSetup was actually adding includes from the default boot platform, before BoardSetup had a chance of changing it.
2012-05-11 17:53:30 +02:00
Jérôme Duval 65bce31ef8 Freetype: FreetypeRules isn't needed anymore.
* fixed copy of freetype headers, now part of the optional package.
2012-03-17 22:52:10 +01:00
Matt Madia 0a53d94bd5 Introduced a new variable HAIKU_CATALOGS_OBJECT_DIR. The catkeys and catalogs
are stored in signature-based subdirectories. This improves upon r37871 and
should allow BOM to properly harvest catkeys for online translation tools.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 16:55:06 +00:00
Matt Madia 413a591c78 80-char clean up. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-26 16:21:14 +00:00
Oliver Tappe b891b0acae * broke out locale-related jam rules into their own file, LocaleRules
* made locale build tools shut up about anything except warnings or errors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-23 19:56:24 +00:00
Ingo Weinhold 634d229763 Added default build profiles "anyboot-image" and "cd-image".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-05 18:14:03 +00:00
Axel Dörfler 1467a878b1 * bonefish: Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 11:11:17 +00:00
François Revol feb750d331 [ARM]
- consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere,
	- add various addresses, boot script, custom C/C++ flags and SD card definition,
	- not sure BoardSetup is included at the best place though,
	- replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup,
- added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux,
- added some more rules, one to build a script for the SD image,
- fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args,
- style fixes,
- 80 cols, /me pets Ingo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 16:12:35 +00:00
Ingo Weinhold a4a52ab2ae New build system variable HAIKU_IGNORE_USER_BUILD_CONFIG to prevent inclusion
of the UserBuildConfigs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-27 00:45:44 +00:00
Ingo Weinhold ff81d306d4 * Moved the optional package dependency definitions into the new
build/jam/OptionalPackageDependencies and include it earlier (before the
  Jamfiles).
* Introduced build/jam/OptionalBuildFeatures which is supposed to do the setup
  for optional build features that need it.
* Renamed USE_SSL to HAIKU_BUILD_FEATURE_SSL and made it more intelligent.
  The OpenSSL optional package is downloaded and unzipped automatically when
  enabled. Switching between enabled/disabled HAIKU_BUILD_FEATURE_SSL is
  handled gracefully -- the concerned components are built in separate
  subdirectories. Adding the OpenSSL optional package to the image also enables
  HAIKU_BUILD_FEATURE_SSL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 10:07:17 +00:00
Ingo Weinhold 37aefc9c6f * Moved jam argument processing to new build/jam/CommandLineArguments.
* Check the first argument for "help" as well. If given print a somewhat
  helpful text. Consider this my excuse to close ticket #1883. :-)
* Track available and added optional packages and fail, if an optional package
  is requested that doesn't exist. Closes ticket #3332.
* Check for duplicate build profile definitions and fail if encountered.
  Closes ticket #3333.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-23 22:33:09 +00:00
Michael Lotz e2c3dec923 Preliminary support for building ISO only Haiku CDs. Not working completely
clean yet. Provides a haiku-cd target and creates a bootable image using mkisofs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-15 02:34:32 +00:00
Michael Lotz d5ec51ca02 Allow for a separate UserBuildConfig directly in the output directory (i.e.
generated). When not using build profiles this allows for separate configuration
per output directory. When using build profiles you could for example have a
different profile per output directory with the same name (so an @disk with
different settings per output dir for example).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-08 13:20:19 +00:00
Ingo Weinhold 30ed37c845 Introduced rules UserBuildConfigRulePostBuildTargets,
UserBuildConfigRulePreImage, and UserBuildConfigRulePostImage which will be
invoked at different points in the build system execution. They can be
overridden in UserBuildConfig, thus allowing for executing user code at
those points.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-03 02:02:28 +00:00
Ingo Weinhold 889903f9dd BuildConfig needs to be included before any other rules file. That's why
the wrong Link actions were used (always the no-attributes-support ones
which remove the target first), for instance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-23 21:45:24 +00:00
Axel Dörfler a679600d82 * Followed Ingo's suggestion, and put the alpha build profiles (for raw and
vmdk images) into the new ReleaseBuildProfiles file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-22 15:52:36 +00:00
Ingo Weinhold a0a9d225d3 Added a new fancy build system feature called "build profiles".
Especially people building various kinds of images with different
settings may want to have a look at the respective section in the
UserBuildConfig.ReadMe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 20:29:43 +00:00
Ingo Weinhold 96b421b83d Added support for "optional packages". Those can be defined in
HaikuImage and enabled individually using the
AddOptionalHaikuImagePackages rule or all at once by setting
HAIKU_ADD_ALL_OPTIONAL_PACKAGES. In principle an optional package can
be any kind of addition to the Haiku image, but usually a zip file will
be downloaded from somewhere and unzipped onto the image. I've added a
WonderBrush package as an example.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-05 18:36:17 +00:00
Ingo Weinhold a970df44af * Include HaikuImage after the Jamfiles, so they can provide/adjust info
relevant for the image creation.
* The CopySetHaikuRevision propagates the value of the
  HAIKU_INCLUDE_IN_IMAGE variable from the source to the target.
* Propagate the value of HAIKU_INCLUDE_IN_IMAGE from "kernel" to
  "kernel_$(TARGET_ARCH)".

Now "jam update-install kernel" should work as expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-29 19:28:11 +00:00
Ingo Weinhold 25b12e83ae Added rules for performing basic integer arithmetics (+, -, *). The rules
operate manually on digit lists, so they are certainly not fast and shouldn't
be used excessively, but at least it's possible to do calculations in Jam now,
should the need arise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 02:37:12 +00:00
Marcus Overhagen 9ddc1886ae Removed now unused HaikuPXE file, that triggered a "Parse error at EOF" warning on some builds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-22 17:53:05 +00:00
Marcus Overhagen 83bf699b3f some build fixes for pxe_ia32 platform
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-28 12:52:20 +00:00
Ingo Weinhold 338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Jérôme Duval b28111564b update to freetype-2.1.10
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-09-01 06:40:20 +00:00
Andrew Bachmann e0e43511c8 remove MakeLocate and MkDir1 which are in our Jambase. (make sure your jam is up to date from svn!)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 00:17:01 +00:00
Andrew Bachmann 200c6baf88 fix mkdir with spaces bug. change target directory based on debug and target platform. remove version variable and its one usage in target directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 19:54:37 +00:00
Ingo Weinhold 80cb793d80 Now you can define the environment variable NO_LIBRARY_DEPENDENCIES to
avoid all dependencies on libraries (that have been specified with
LinkSharedOSLibs or a rule that uses it).
This means you can now run a
  NO_LIBRARY_DEPENDENCIES=1 jam MyApp
to build MyApp without updating any library MyApp depends on, even if they
have changed. This is a feature for people who know what they are doing to
speed up development.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-06 10:03:42 +00:00
Ingo Weinhold ad3ffd1227 BuildPlatformMain now uses the original DEFINES. Otherwise we e.g. get __HAIKU__ although compiling under R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-07-04 11:14:31 +00:00
Philippe Houdoin 0017390797 Add dependency to the pseudotarget 'obj' to improve MergeObjectFromObjects rule.
Thanks to Ingo for the hint.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-26 21:52:51 +00:00
Jérôme Duval 0e16d351bf Reverted Jambase to keep jam compatibility
StaticLibraryFromObjects is a copy-paste of LibraryFromObjects without grist on source files


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-17 11:41:18 +00:00
Jérôme Duval 1cc148a946 added opengl to SetupInclude
StaticLibrary now accepts static libraries to include (note that jam should be rebuilt)
LibraryFromObjects doesn't FGristFiles now, but Library does


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-14 15:22:55 +00:00
Jérôme Duval 18c3ce0778 added a resource parameter to Preference rule
updated Jamfiles to take this into account


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-07 16:19:59 +00:00
Jérôme Duval f35b607dd6 docbook files go in objects dir
added a doc_files target
spaces in directory names don't please path xsltproc syntax


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 01:44:35 +00:00
Jérôme Duval 95086a3efd added Man2Doc rules
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-13 15:42:21 +00:00
Andrew Bachmann 1ac083d932 add NETAPI_LIB and use it to build HP JetDirect printer transport
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-02 22:19:07 +00:00
Axel Dörfler d67e6bc8a2 Fixed the build of several network apps under R5:
- removed libnetapi.so from $NETWORK_LIBS - it's not used by anyone anyway,
  and it's definitely not necessary to link against it by default.
  Note, this might cause problems in some of the mail add-ons; I haven't
  tested this.
- route/ping/... now also link against $SELECT_UNAME_ETC_LIB

makehdimage should now work again under all BeOS platforms.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-12 04:22:55 +00:00
Ingo Weinhold 99801d4a88 * Added variables KERNEL_C++_SUPPORT_LIBS and STL_HEADERS to aid support
for building under Linux.
* Tried to get the header setup into a shape that would allow us to build
  under Linux with gcc 3.x. But I give up for the moment. The C++ support
  headers don't seem to be separate from the STL headers, which makes it
  virtually impossible to use our STL together with gcc 3.x.
  Worse, I don't even think, how we build under BeOS at the moment is
  correct. The _G_config.h (glibc configuration) header is included from
  some public headers, but is itself not made available. This causes the
  R5 header to be used, which belongs to a completely different glibc
  version. But when building our libroot we use the new header. I wouldn't
  be surprised, if that could cause all kinds of subtle problems. Maybe
  even the STL string problem I encountered recently.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-06 17:03:29 +00:00
Axel Dörfler 979afc6fa4 Exchanged -no-fpic with -fno-pic - AFAICT these should be the same, but
GCC/ppc only understands the latter (more correct) version.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-05 14:11:02 +00:00
Ingo Weinhold 3844cf706a * New variable DEBUG_FLAGS which can be used to specify the gcc debug
flags to be used. Defaults to -g. You might want to use -ggdb with
  gcc 3.x.
* Added variable C++_SUPPORT_LIBS. Is set to sup++ for gcc 3.x.
* ResComp can be built under BeOS only at the moment.
* Define _NO_INLINE_ASM when building for the build platform. Is not
  strictly necessary under BeOS, but helps under Linux.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 23:15:44 +00:00
Ingo Weinhold 8dc98d6d85 BuildPlatformMain has a new boolean parameter to disable resetting the header search paths.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 00:38:19 +00:00
Ingo Weinhold 16df67022a Fixed UseArchHeaders.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-11 04:46:14 +00:00
Philippe Houdoin bc10030ef0 Added lib[b]netapi.so to NETWORK_LIBS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-29 15:06:22 +00:00
Ingo Weinhold b8ab94faaa An even nicer solution for the UnarchiveObjects actions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 02:07:39 +00:00
Axel Dörfler 271174f273 Fixed the UnarchiveObjects rule so that it can handle any extensions (and
not just .o - newer GCC releases seem to have .oS objects in libgcc.a).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 01:48:50 +00:00
Axel Dörfler b1e5b60ccf Divided BuildConfig into three files: BuildConfig, Timezones, and libgccObjects.
That makes fine tuning any of them a nicer experience.
You have to rerun ./configure in order to build anything.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-26 01:34:37 +00:00
Axel Dörfler b217d989e7 Removed now unnecessary comment.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-17 15:39:34 +00:00
Ingo Weinhold d5807053ee * Now the DEBUG_PRINTF variable can be set to cause the macro
DEBUG_PRINTF to be defined.
* Fixed KernelAddon rule: Now not the file but the target kernel.so is
  specified for linking the add-on against, which results in proper
  dependencies. Axel: Want to clarify the ToDo comment?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-15 21:32:51 +00:00
Jérôme Duval 025d0733f2 It seems libRK and libCanna don't like this CCFLAGS position
Hope it doesn't break anything


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-23 21:30:32 +00:00
Axel Dörfler 4d74cda31c __HAIKU__ is now always defined for the kernel build rules.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-20 13:52:57 +00:00