Commit Graph

177 Commits

Author SHA1 Message Date
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
Matthew Wilber
c407191357 Added rule for building screen savers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-11 21:58:09 +00:00
shatty
2506bbb6f3 utilize SELECT_UNAME_ETC_LIB
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-29 00:19:29 +00:00
shatty
a104c31b99 define __HAIKU__ for haiku target platform
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-28 23:30:28 +00:00
shatty
39a01fbb29 allow resources as a fourth argument to the App rule, similar to the BinCommand
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-22 02:31:30 +00:00
shatty
6040be9931 use NETWORK_LIBS for linking, define BUILDING_R5_LIBNET if necessary
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-20 21:10:54 +00:00
Ingo Weinhold
081debe878 Fixed treatment of source files in UseArchObjectHeaders and SourceHdrs. Grist/object suffix were not set correctly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 15:42:06 +00:00
Ingo Weinhold
94a49b214b Fixed SetupKernel. SourceHdrs is best invoked on source files, otherwise
HDRSEARCH won't be set on the sources which may cause header dependencies
to be missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-18 15:59:02 +00:00
shatty
4bb1944270 remove global activation of COMPILE_FOR_R5 based on TARGET_PLATFORM ; require TARGET_PLATFORM to be set
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-11 10:52:14 +00:00
Jérôme Duval
69f792c6bc added COMPILE_FOR_R5 flag for C too
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-01 14:16:34 +00:00