Commit Graph

2927 Commits

Author SHA1 Message Date
Oliver Tappe 87e8603d9f Merge branch 'gcc_syslibs'
* From now on, the gcc-specific system libraries (libgcc, libsupc++ and
  libstdc++) are provided by separate packages built along with gcc:
  - gcc_syslibs contains the shared libraries (libgcc_s.so, libsupc++.so and
    libstdc++.so)
  - gcc_syslibs_devel contains the static libraries and both c++ and gcc
    headers
  The shared libraries now make proper use of symbol versioning and there
  are version-specific symlinks
* The buildsystem has been adjusted to no longer use the libraries and
  headers from the cross-compiler, but use the ones provided by the
  above-mentioned packages. The only exception is that the 32-bit libraries
  required for the bootloader of the x86_64 architecture are still taken
  from the cross-compiler.
2014-08-13 13:50:29 +02:00
Oliver Tappe e29a6c4cd4 Introduce stage0 into the bootstrap process.
* This stage builds the gcc packages to get the shared syslibs, which
  only requires the Haiku glue code.
* Add separate declaration section for stage0 packages to
  HaikuPortsCross repository files.
* For the bootstrap_stage0 platform, fall back to the gcc headers
  provided by the cross-compiler.
2014-08-13 13:34:26 +02:00
Oliver Tappe 2e477cf688 Simplify handling of package names.
* No longer apply somewhat crude mechanism for converting a package name
  into a corresponding port name - haikuporter by now supports package
  names directly.

This fixes a problem when trying to pass 'gcc_syslibs_devel' to
haikuporter, which only ever saw 'gcc_syslibs'.
2014-08-13 13:34:07 +02:00
Oliver Tappe f7653b1b74 Optionally build glue code for bootstrap_stage0 platform. 2014-08-13 13:32:49 +02:00
Oliver Tappe b80e14ae92 Add pseudo target for bootstrap_stage0 platform. 2014-08-13 13:32:48 +02:00
Oliver Tappe 91e3c8435e Only add Webpositive to image if it is available. 2014-08-13 13:32:48 +02:00
Oliver Tappe ad598251d7 Set default of HAIKU_CONTINUOUS_INTEGRATION_BUILD. 2014-08-13 13:32:47 +02:00
Oliver Tappe 4ca98ce9a9 Cleanup with respect to headers rules.
* Move specialcasing of gcc2 from HeadersRules into the respective rule
  in SystemLibraryRules.
2014-08-13 13:32:47 +02:00
Oliver Tappe 11ae3c5fe7 Cleanup build system and configuration.
* Drop unused variables from build system that refer to the system
  libraries.
* Drop unused lists of libgcc objects.
* Drop no longer used variables from configuration script.
* Remove no longer needed building of kernel-libgcc and -libsupc++ from
  build_cross_tools_gcc4, only the boot-specific (32-bit) libs are
  built for a x86_64 target.
* Explicitly disable threads and TLS support when building the cross
  compiler, as the only libraries that are used by Haiku's build system
  is the 32-bit libgcc and libsupc++ for the bootloader on x86_64 (and
  for that neither is wanted).
2014-08-13 13:32:45 +02:00
Oliver Tappe 220d040227 Use libstdc++, libsupc++ and libgcc from gcc_syslibs.
* Instead of faking libstdc++.so from libstdc++.a, use libstdc++.so
  from the gcc_syslibs build feature for everything except x86_gcc2.
* Use libgcc_s.so from the gcc_syslibs build feature for everything but
  x86_gcc2 (which still carries libgcc as part of libroot.so).
* Drop filtering of libgcc objects for libroot, as that is no longer
  necessary since we're only using libgcc-as-single-object for libroot
  with x86_gcc2, where the filtered object file doesn't exist. Should
  the objects that used to be filtered cause any problems as part of
  libgcc_s.so, we can always filter them as part of the gcc build.
* Use libsupc++.so from the gcc_syslibs build feature for everything but
  x86_gcc2.
* Adjust all Jamfiles accordingly.
* Deactivate building of faked libstdc++.so for non-x86-gcc2. For
  x86_gcc2, we still build libstdc++.so from the sources in the Haiku
  source tree as part of the Haiku build .
* Put gcc_syslibs package onto the image, when needed.
2014-08-13 13:32:44 +02:00
Oliver Tappe 77253e671b Switch to using crtbeginS.o and crtendS.o unconditionally. 2014-08-13 13:32:44 +02:00
Oliver Tappe 938bf9fad2 Add more missing 'local's to variable declarations. 2014-08-13 13:32:43 +02:00
Oliver Tappe afde44733f * When using the non-legacy compiler, use the c++ and gcc headers
provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
  in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
  were necessary to avoid a build problem with strace. There are
  probably more bugs like these hiding in our build system files, but
  I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.
2014-08-13 13:32:34 +02:00
Ingo Weinhold cd8a7df77d ImageRules: Fix issues where file names may contain parens
Parentheses in target names are considered by Jam to mean an archive
member. We have to explicitly use the M selector to keep that part.

Fixes #10378 (certain keymaps missing on image).
2014-08-10 10:17:26 +02:00
Adrien Destugues 633aeb7dba Add arm_none_eabi_{binutils,gcc} packages. 2014-08-10 09:42:21 +02:00
François Revol 1c9081d343 Add a package for Moe. How did I live without it??? 2014-08-08 19:59:06 +02:00
Arvind S Raj 82d287ddcb Reserve 8MB space for kernel before RAM_loader
...so that kernel does not overwrite the loader.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #11067.
2014-08-08 17:39:33 +02:00
François Revol e4860647b2 Add opensound package
Just fixed a crash in there, so it should now work ok.
2014-08-07 22:54:01 +02:00
Jessica Hamilton 4b0b03de1d Add BeCJK input method to HaikuPorts repository. 2014-08-07 17:28:43 +00:00
Jessica Hamilton 297f6f3d28 Add canna input method to HaikuPorts repository 2014-08-07 10:00:47 +00:00
Alexander von Gluck IV 14ed9dd5fc x86: Update tar package in repo to 1.27.1-2
* Tested functional
2014-08-05 18:23:55 +00:00
Adrien Destugues 09785ce274 smpeg: update to a version with a working libstdc++ dependency.
Stop-gap solution to make smpeg installable until the separate libstdc++
package is available. Then it will hopefully have a reliable "compat"
version we can depend on.
2014-08-04 17:49:01 +02:00
François Revol ea0457cd02 Add musicpc package 2014-08-02 13:33:00 +02:00
François Revol 1336892c8b Update yab_ide package 2014-08-01 22:40:08 +02:00
Adrien Destugues 7435d82fb3 Update to the fixed (again) curl package. 2014-08-01 17:53:37 +02:00
Adrien Destugues f0245dc225 Replace broken curl and ca_root_certificates
* Remove unneeded path mashup in curl to find the ca_root_certificates
and use the file in .self/data/ssl. This makes it possible to rename the
package providing ca_root_certificates without everything exploding.
* Use a certificate file in the format cURL expects, not Mozilla source
file in NSS format.
2014-08-01 09:38:29 +02:00
Oliver Tappe a07cdb6e9f Define two pseudo targets for the target and build platform.
* The main build rules now cause their targets to depend on the
  platform such that global per-platform intializations can be
  set up by making the platform pseudo target depend on the
  target returned by the initialization rule.
2014-07-31 18:07:16 +02:00
François Revol 228df78b0e Update Boost packages to fix the _devel PROVIDES
I'm not building this again in a 1vcpu VM with not enough
disk space :-D
2014-07-31 17:35:01 +02:00
Oliver Tappe ed25955ada Add SystemLibraryRules.
* This file contains jam rules for getting the different versions
  of libgcc, libsupc++ and libstdc++ used throughout Haiku's
  build system.
* Additionally, there are rules for accessing the c++ headers
  and the gcc headers.
* These rules are included by Jamrules, but not yet used anywhere.
2014-07-31 14:19:14 +02:00
Oliver Tappe 5bddecbc3b Add build features gcc_syslibs and gcc_syslibs_devel.
* gcc_syslibs contains the shared libraries that are being built
  as part of gcc, i.e. libgcc_s.so, libsupc++.so and libstdc++.so
* gcc_syslibs_devel contains the static versions of the respective
  libraries plus additionally kernel versions of libgcc.a and
  libsupc++.a (which do not provide support for pthreads or TLS
  and thus do not have any external dependencies). Additionally,
  this build feature contains the c++ and gcc headers from the
  non-legacy compiler.
2014-07-31 10:59:07 +02:00
Oliver Tappe 2ae3c64943 Improve IsPackageAvailable()
* When adjusting the package name for the secondary architecture,
  it is unclear where exactly in the package name the architecture
  specifier is. To remedy, we try all possible positions until
  we find the package (or there are no other possibilities).
2014-07-31 10:49:36 +02:00
Oliver Tappe bd04aa3772 Cleanup: Fix missing evaluation of HAIKU_NO_LIBSUPC++.
* There's no user of HAIKU_NO_LIBSUPC++ anywhere, so the typo didn't
  have any effect.
2014-07-31 10:49:36 +02:00
Oliver Tappe 5cbd68a9b3 Update legacy compiler to version 2014_07_26. 2014-07-31 10:37:02 +02:00
François Revol dc5f63f635 Fix descriptions on X11 related packages 2014-07-29 22:43:28 +02:00
François Revol 70ed656a03 Add some X11-related packages
For XEmacs I need libXpm... which needs libX11... which needs...
2014-07-29 21:11:11 +02:00
Augustin Cavalier ef21655b0b ca_root_certificates: Update to 2014_04_08-1.
Tested against wget, curl, and git, which all were still able
to verify certificates and download from HTTPS sites.

Signed-off-by: Oliver Tappe <zooey@hirschkaefer.de>
2014-07-29 18:41:48 +02:00
Augustin Cavalier a9822c2d28 HaikuPorts/x86_gcc2: Update both FFmpegs to 0.10.14-1.
Signed-off-by: Oliver Tappe <zooey@hirschkaefer.de>
2014-07-29 18:09:47 +02:00
François Revol ca21718e14 Add python packages: dateutil, lxml, mechanize, requests 2014-07-29 17:20:51 +02:00
Adrien Destugues dd6cdcf0b7 Fix copypaste bug in UnitTest rule.
Make the unittests target actually build all the UnitTests and not just
the UnitTestLibs.
2014-07-29 11:25:03 +02:00
François Revol d9b7113a6d Add packages for lame 2014-07-28 15:17:47 +02:00
Oliver Tappe 36f3164c3e Fix #11076 - build failing on Haiku.
* Haiku does not currently provide crtbeginS.o and crtendS.o, so
  we fall back to crtbegin.o and crtend.o.
  
This should not have any ill-effects, as the available compilers on
Haiku do not use __cxa_atexit() yet.
2014-07-27 16:00:53 +02:00
François Revol ccea78b56d Add a BeShare package
It seems to crash on quit, but seems to be usable.
2014-07-26 20:16:27 +02:00
François Revol 078cd1a049 Add packages for muscle
Don't upload the _devel package just yet, it is not suitable for
building BeShare since it is built with single threading.
2014-07-26 20:16:25 +02:00
Oliver Tappe a36fd6667a Use crtbeginS.o and crtendS.o everywhere.
* Gcc is now using __cxa_atexit, so we need to use the crtbegin
  and crtend implementations that are meant to be used for shared
  libraries. This avoids crashes of servers that load add-ons
  (Media-Addon-Server and Print-Server) when shutting down Haiku.
* As executable are shared on Haiku, we use crtbeginS.o and crtendS.o
  for those, too.
* To simplify, we even use crtbeginS.o and crtendS.o in the kernel,
  but there they don't currently make a difference, as the respective
  initialization and cleanup functions are not being invoked by the
  kernel.
2014-07-26 19:13:24 +02:00
François Revol a07d97ee3b Add a bzr package 2014-07-26 16:17:00 +02:00
Oliver Tappe 1b4510eebf Put haiku repository onto image.
* Now that system updates seem to work properly, put the haiku
  repository config and cache file onto the image automatically.
* Adjust URL of haiku repository (it is currently redirected
  to some other URL at download.haiku-os.org, but that will be
  changed later).
2014-07-26 00:35:53 +02:00
Augustin Cavalier 8d31bd2e69 Upgrade Pe to 2.4.5.
Signed-off-by: Oliver Tappe <zooey@hirschkaefer.de>
2014-07-24 16:16:43 +02:00
Jessica Hamilton 18eae6381e Bump revisions of gcc_x86 & haikuwebkit for gcc2h.
This will pull in the requirement for a newer haiku
revision, as the fix to WebPositive lies in haiku,
not haikuwebkit.
2014-07-24 02:33:52 +00:00
François Revol 741f2b55f2 glib2: updated package (fixed glib-gettextize) 2014-07-23 19:37:14 +02:00
François Revol 4e554681b7 Add a gcc2 version of libffi 2014-07-23 19:37:13 +02:00