Commit Graph

2388 Commits

Author SHA1 Message Date
Ingo Weinhold
86de8c37b5 Use GNU make also for building gcc 2
Should fix the build on {Free,Open}BSD.
2013-08-22 12:32:20 +02:00
Ingo Weinhold
b35337eb1e Add repositories for x86
Almost complete. bepdf is still missing, since it doesn't build with gcc
4 and a few source packages are missing as well (binutils and gcc
because haikuporter doesn't build them correctly ATM, mesa due to an
oversight).
2013-08-21 16:45:48 +02:00
Oliver Tappe
4ddd2c75dc Don't try to build xz_utils for a mere gcc2 system. 2013-08-21 16:30:39 +02:00
Ingo Weinhold
987d25a40c build_cross_tools: use --with-hybrid-secondary when needed 2013-08-17 09:31:57 +02:00
Ingo Weinhold
77b9f01f9b Add a few standard build tools to the Development meta package 2013-08-17 09:21:06 +02:00
Ingo Weinhold
24796718b9 Bootstrap Haiku image: add source for more required packages
* Introduce build variable HAIKU_IMAGE_ADDITIONAL_PACKAGES which can be
  set to add additional packages to the image.
* Use HAIKU_IMAGE_ADDITIONAL_PACKAGES to support specifying a list of
  additional packages via the build-package-list build profile action.
* Add htmldoc and texi2html when building the list of the packages for
  which we need source packages when building the bootstrap Haiku image.
  We don't want them on the regular image, but they are needed to build
  some packages that are on it.
2013-08-17 09:20:35 +02:00
Ingo Weinhold
13f2fbbd9e Add build variable HAIKU_PORTER_CONCURRENT_JOBS
It can be set to the number of jobs specified on the haikuporter
command line. Speeds up the bootstrap build quite a bit.
2013-08-17 09:12:45 +02:00
Ingo Weinhold
f73d05a79b HaikuPorts/x86_gcc2: Update git packages 2013-08-14 10:14:16 +02:00
Ingo Weinhold
37cfff1f04 build_haiku_image: filter duplicate packages
Resolving the package dependencies for system might yield packages that
are already given for common. Filter those out of the list for common
before resolving the common dependencies.
2013-08-13 15:31:22 +02:00
Ingo Weinhold
86233b1067 HaikuPorts: update several packages
... and add some missing devel packages.
2013-08-13 14:20:42 +02:00
Oliver Tappe
4c6b3efc91 Increase size of bootstrap image to 4 GB.
* 1 GB isn't enough to build the basic set
2013-08-12 21:50:13 +02:00
Ingo Weinhold
f56958c140 Add development packages for the secondary architecture 2013-08-12 17:23:20 +02:00
Ingo Weinhold
4e822fec6f HaikuPorts/x86_gcc2: Update gcc and binutils
Also add secondary architecture packages.
2013-08-12 17:20:36 +02:00
Ingo Weinhold
b57470a217 Remove setgcc 2013-08-12 15:53:50 +02:00
Ingo Weinhold
555b02d345 Add webpositive package to image 2013-08-10 15:06:55 +02:00
Ingo Weinhold
1c9bc20646 BuildFeatures: re-add webkit build feature 2013-08-10 15:05:51 +02:00
Ingo Weinhold
2910d9a7e0 PreprocessPackageInfo: add substitution
... HAIKU_SECONDARY_PACKAGING_ARCH_SUFFIX. It's "_<arch>" for a
secondary architecture and "" for the primary one.
2013-08-10 15:04:48 +02:00
Ingo Weinhold
4f57a2bd1a DefineDefaultBuildProfiles: simplify things a bit 2013-08-10 15:03:49 +02:00
Ingo Weinhold
39f7d0075d HaikuPorts/x86_gcc2: add haikuwebkit and xz_utils 2013-08-10 15:03:14 +02:00
Ingo Weinhold
dd0bd440d5 BuildFeatures: print the packaging arch in error messages 2013-08-10 15:02:02 +02:00
Ingo Weinhold
00b8bfde15 EnableBuildFeatures: deal with duplicate invocations 2013-08-10 14:58:21 +02:00
Ingo Weinhold
a94f6aab7b Image rules: filter packages list via FFilterByBuildFeatures
AddPackageFilesToHaikuImage, AddHaikuImagePackages: For convenience
filter the given package file/package list through
FFilterByBuildFeatures.
2013-08-10 14:55:29 +02:00
Ingo Weinhold
271e9484ed Build secondary architecture Haiku package for regular image
Also add secondary architecture packages to image.
2013-08-10 09:58:11 +02:00
Ingo Weinhold
393c223bcf HaikuPorts/x86_gcc2: add x86 packages, add/update packages 2013-08-10 09:54:42 +02:00
Ingo Weinhold
47fd9e6dc6 rule AddLibrariesToContainer: fix for gristed libraries 2013-08-10 09:52:10 +02:00
Oliver Tappe
f81fbb0b59 Adjust to renamed option of haikuporter. 2013-08-07 13:42:16 +02:00
Ingo Weinhold
394c099f62 build_cross_tools_gcc4: use --with-hybrid-secondary 2013-08-07 02:13:15 +02:00
Ingo Weinhold
c965ee60b5 bootstrap image: build needed source packages and add them
* IsPackageAvailable, FetchPackage: Add flags parameter. The only
  flag supported ATM is nameResolved, indicating that the specified
  package name does not need to be resolved with respect to a secondary
  architecture anymore.
* Add build profile action "build-package-list". As an argument the
  file to which the list of all packages needed for the image is
  written. The rule BuildHaikuImagePackageList implements the action.
* BuildBootstrapRepositoryConfig: Does now require the variable
  HAIKU_REPOSITORY_TREE_PATH to be set on the config file target instead
  of hard-coding the path. Allows reuse of the actions.
* Add rules BuildHaikuPortsSourcePackageDirectory and
  BuildHaikuPortsRepositoryConfig. The former builds all HaikuPorts
  source packages needed to build the packages for an alpha image. The
  latter generates a haikuports.conf file for use on the bootstrap
  Haiku.
* HaikuImageBootstrap: Add directory /boot/home/haikuports which
  contains a subdirectory with the source packages and a
  haikuports.conf.
2013-08-06 23:02:10 +02:00
Ingo Weinhold
384230184e Filter package infos through sed
%HAIKU_PACKAGING_ARCH% and %HAIKU_SECONDARY_PACKAGING_ARCH% in the
package infos are replaced before filtering them through the C
preprocessor.
2013-08-06 04:11:44 +02:00
Ingo Weinhold
d1251475e2 Add the missing secondary arch bootstrap packages
The Haiku bootstrap image is now built with (hopefully) all required
primary and secondary architecture packages. The runtime loader is still
resisting our wish to run secondary architecture programs, though.
2013-08-06 03:37:45 +02:00
Ingo Weinhold
cade865dde Add secondary arch haiku [devel] packages to image 2013-08-06 03:33:36 +02:00
Ingo Weinhold
b4d3e055a9 Add HaikuDevelSecondary package definition
It defines the haiku devel package for a secondary architecture
(haiku_<arch>_devel.hpkg).
2013-08-06 03:32:48 +02:00
Ingo Weinhold
096c687ea3 HaikuDevel: a few simplifications 2013-08-06 03:29:51 +02:00
Ingo Weinhold
85eed25cdd AddHaikuImagePackages/IsHaikuImagePackageAdded: 2ndary arch fix
For the secondary architecture the same specified package name means a
different package, so we need to use the mapped name IsPackageAvailable
returns.
2013-08-06 03:24:14 +02:00
Ingo Weinhold
db16bcba41 Add package definition HaikuSecondaryBootstrap
A haiku_<arch>.hpkg package is produced for each secondary architecture.
2013-08-06 00:47:51 +02:00
Ingo Weinhold
225b638263 Support building most system libraries for secondary arch
Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.
2013-08-06 00:45:22 +02:00
Ingo Weinhold
779b940a74 PreprocessPackageInfo: define macro for secondary architecture 2013-08-05 23:25:09 +02:00
Ingo Weinhold
e9a0ad7c4d Remove SYSTEM_LIBS*_ALIASES build variables 2013-08-05 23:25:09 +02:00
Ingo Weinhold
69c69a7d2a Replace build system vars [PRIVATE_]SYSTEM_LIBS by rules
... HaikuImageGetSystemLibs and HaikuImageGetPrivateSystemLibs.
2013-08-05 23:25:08 +02:00
Oliver Tappe
d20975d920 Fix negated predicate relating to input_server.
* without a secondary arch, jam would complain about not knowing how
  to build <x86_gcc>input_server
2013-08-05 21:44:12 +02:00
Oliver Tappe
0b171ae44a Fix two problems when building without secondary architecture. 2013-08-05 21:36:25 +02:00
Ingo Weinhold
b2b6052e40 ArchitectureSetup: fix library name map
It's too early to use the MultiArch* rules yet, since the TARGET_*
variables haven't been initialized yet.
2013-08-05 18:52:33 +02:00
Ingo Weinhold
93cfb72270 build features/bootstrap repo: support secondary arch
* Add rule FSplitPackageName. It splits a package name into port name
  and package suffix.
* FSetConditionsHold: Rename to FConditionsHold and replace the set
  parameter by a predicate rule parameter, thus adding more flexibility.
* FIsBuildFeatureEnabled: Use the faster check.
* Add rule FQualifiedBuildFeatureName. Given a build feature name, it
  prepends the current packaging architecture to yield a qualified
  feature name. Is used by the other build feature rules so that the
  same build feature can be configured differently for each arch.
* ExtractBuildFeatureArchives: The supplied list is now filtered via
  FFilterByBuildFeatures, allowing for build feature conditions in the
  list.
* Add rule InitArchitectureBuildFeatures. It is called early for each
  configured architecture, setting up some basic build features for it.
  "primary" is set for the primary architecture and a "secondary_<arch>"
  is set for each secondary architecture.
* BuildFeatures: Add secondary architecture support: Use the correct
  paths for libraries and headers (subdir for secondary architecture)
  and configure the icu and zlib sources only for the primary
  architecture.
* BootstrapPackageRepository: The package lists are now filtered via
  FFilterByBuildFeatures, allowing for build feature conditions in the
  lists.
* IsPackageAvailable, FetchPackage: Add secondary architecture support.
* HaikuPortsCross/x86_gcc2: Add icu and zlib x86 secondary packages.

The second stage Haiku cross devel package for the secondary
architecture can now be built.
2013-08-05 07:09:45 +02:00
Ingo Weinhold
f7d5e4c647 ArchitectureSetup: fix library map for secondary arch
The libraries where resolved to the library targets for the primary
architecture.
2013-08-05 06:39:10 +02:00
Ingo Weinhold
de799f73c0 MultiArch* rule: support optional architecture parameter 2013-08-05 06:37:56 +02:00
Ingo Weinhold
d31a50eef7 Move build feature rules to separate file 2013-08-05 00:17:46 +02:00
Oliver Tappe
f30881d7fe Replace makeinfo_bootstrap with texinfo_bootstrap.
* using texinfo_bootstrap has the advantage of allowing implicit
  mapping between _bootstrap packages and the corresponding 
  non-bootstrap packages
2013-08-04 21:05:24 +02:00
Ingo Weinhold
68ccc98930 Build the cross gcc for the secondary arch as such
Pass --enable-hybrid-secondary to gcc's configure when building it as
a secondary compiler. Doesn't make a difference for building Haiku
itself, but makes it easier to match the Haiku cross devel package with
the compiler when building bootstrap packages with haikuporter.

gcc 4 only ATM.
2013-08-04 17:21:20 +02:00
Ingo Weinhold
f975dc63f1 build_cross_tools_gcc4: move sysroot dir into install dir
This allows us to sneak in system include and library search dirs in
haikuporter without doing anything outside the cross tools dir.
2013-08-03 05:29:15 +02:00
Ingo Weinhold
833b6688aa cross devel hpkg: use suffix/subdir for secondary arch
* Libraries for a secondary architectures must be placed in a respective
  subdir.
* Add a suffix to the package name when building for a secondary
  architecture. Looks a bit weird
  ("haiku_cross_devel_sysroot_x86_gcc_x86.hpkg"), but is consistent.
2013-08-03 05:26:25 +02:00