Commit Graph

199 Commits

Author SHA1 Message Date
Oliver Tappe
59e2e2f3a7 Adjust handling of package infos.
* add HAIKU_PACKAGING_ARCH, which is set to the target packaging 
  architecture
* introduce support for generic package infos, which are package infos
  that are the same for all architectures, except for the declaration
  of the package architecture itself
* move package info files underneath architecture-specific or generic
  folder
2013-06-04 00:24:37 +02:00
Ingo Weinhold
fa962e6008 build_haiku_package: Print some progress info
Remove the output in extractFile(), though. The extracted packages are
so small that it doesn't matter anymore.
2013-06-01 00:32:07 +02:00
Ingo Weinhold
ba96552b6a Support extracting archives to the packages we build
* BuildHaikuPackage rule: Create the script that contains the extraction
  commands.
* build_haiku_package: Add extractFile() function (stripped down version
  from build_haiku_image).

In build_haiku_image the functionality was mainly used to extract the
optional packages, which is no longer done. We still need it e.g. for
the Wifi firmware packages that want to be extracted.
2013-06-01 00:32:07 +02:00
Oliver Tappe
30c2352188 Adjust buildscript for gcc4 to configure with a sysroot. 2013-05-30 00:22:06 +02:00
Ingo Weinhold
06f5437c21 Add HAIKU_PACKAGE_COMPRESSION_LEVEL build variable
It allows to control the compression level used for package creation
and update. The default (9) is *very* slow, so developers may want to
use a smaller level during the regular development process to keep
turn-around times low.
2013-05-25 01:12:26 +02:00
Ingo Weinhold
518840e305 Complete MIME related support for image/package creation
* Update MimeSet rule to use the MIME DB the build system creates.
* Add CreateAppMimeDBEntries rule and call it from Link for targets that
  might be applications that need to be registered with the MIME DB. For
  the target the rule is invoked with it creates a directory into which
  the entries for the types to be registered are written. The directory
  is associated with the target via the HAIKU_MIME_DB_ENTRIES variable.
* AddFilesToContainer: If a target is added that has MIME DB entries,
  also add those to the container.
* build_haiku_package: Call mimeset for the package contents.
2013-05-09 03:38:10 +02:00
Ingo Weinhold
e387e24faa Move MIME DB creation from build_haiku_image to jam build system
* build_haiku_image: Remove MIME DB creation code.
* Rename beos_mime source directory to mime_db.
* Add rules to build the MIME DB in the source directory's jamfile.
* Add MIME DB directory to haiku.hpkg in data/mime_db.
2013-05-07 04:43:50 +02:00
Ingo Weinhold
25a7b01d15 Merge branch 'master' into package-management
Additional changes:
* Add src/system/kernel/lib/zlib, which builds a kernel version of zlib,
  needed by packagefs.
* BuildFeatures: Add a build feature "gcc2" to allow for easier checks.
* Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter
  is not needed and prevents building for the build platform.
* zlib/zutil.h: Fix gcc 2 build. We really should use the external
  package instead.

Conflicts:
	.gitignore
	build/jam/BuildSetup
	build/jam/FileRules
	build/jam/FloppyBootImage
	build/jam/HaikuImage
	build/jam/ImageRules
	build/jam/KernelRules
	build/jam/NetBootArchive
	build/jam/OptionalBuildFeatures
	build/jam/OptionalLibPackages
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_haiku_image
	configure
	data/bin/installoptionalpackage
	data/system/boot/Bootscript
	headers/os/app/Message.h
	headers/os/package/PackageInfo.h
	headers/os/package/PackageInfoAttributes.h
	headers/os/package/PackageInfoSet.h
	headers/os/package/PackageRoster.h
	headers/os/package/PackageVersion.h
	headers/os/package/hpkg/PackageInfoAttributeValue.h
	headers/os/storage/FindDirectory.h
	headers/os/storage/Node.h
	headers/os/support/StringList.h
	headers/private/system/directories.h
	src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile
	src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp
	src/add-ons/kernel/file_systems/packagefs/Jamfile
	src/add-ons/kernel/file_systems/packagefs/Package.cpp
	src/add-ons/kernel/file_systems/packagefs/Package.h
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.h
	src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageNode.h
	src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.h
	src/add-ons/kernel/file_systems/packagefs/Volume.cpp
	src/add-ons/kernel/file_systems/packagefs/Volume.h
	src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp
	src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c
	src/apps/deskbar/BarApp.cpp
	src/apps/deskbar/BarMenuBar.cpp
	src/apps/deskbar/BarMenuBar.h
	src/apps/deskbar/BarView.cpp
	src/apps/deskbar/BarView.h
	src/apps/deskbar/BarWindow.cpp
	src/apps/deskbar/BarWindow.h
	src/apps/deskbar/DeskbarMenu.cpp
	src/apps/deskbar/DeskbarMenu.h
	src/apps/deskbar/DeskbarUtils.cpp
	src/apps/deskbar/DeskbarUtils.h
	src/apps/deskbar/ExpandoMenuBar.cpp
	src/apps/deskbar/ExpandoMenuBar.h
	src/apps/deskbar/TeamMenu.cpp
	src/apps/processcontroller/ProcessController.cpp
	src/apps/remotedesktop/RemoteDesktop.cpp
	src/bin/bash/config-top.h
	src/bin/finddir.c
	src/bin/package/Jamfile
	src/bin/package/command_add.cpp
	src/bin/package/command_create.cpp
	src/bin/package/command_list.cpp
	src/bin/package_repo/command_list.cpp
	src/bin/pkgman/command_refresh.cpp
	src/build/libbe/support/Jamfile
	src/build/libpackage/Jamfile
	src/build/libroot/Jamfile
	src/build/libroot/fs.cpp
	src/build/libroot/remapped_functions.h
	src/kits/locale/MutableLocaleRoster.cpp
	src/kits/opengl/GLRendererRoster.cpp
	src/kits/package/PackageInfo.cpp
	src/kits/package/PackageInfoSet.cpp
	src/kits/package/PackageRoster.cpp
	src/kits/package/PackageVersion.cpp
	src/kits/package/RepositoryCache.cpp
	src/kits/package/hpkg/PackageWriterImpl.cpp
	src/kits/package/hpkg/ReaderImplBase.cpp
	src/kits/package/hpkg/WriterImplBase.cpp
	src/kits/print/PrintTransport.cpp
	src/kits/print/Printer.cpp
	src/kits/screensaver/ScreenSaverRunner.cpp
	src/kits/support/StringList.cpp
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/PoseView.cpp
	src/libs/print/libprint/Transport.cpp
	src/preferences/printers/AddPrinterDialog.cpp
	src/preferences/screensaver/ScreenSaverWindow.cpp
	src/servers/debug/DebugServer.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/media_addon/MediaAddonServer.cpp
	src/system/boot/Jamfile
	src/system/boot/loader/Jamfile
	src/system/boot/loader/loader.cpp
	src/system/boot/loader/vfs.cpp
	src/system/kernel/fs/vfs.cpp
	src/system/kernel/fs/vfs_boot.cpp
	src/system/libroot/os/find_directory.cpp
	src/system/runtime_loader/runtime_loader.cpp
	src/tools/package/Jamfile
2013-05-05 15:03:26 +02:00
Ingo Weinhold
e0f7f688f1 Extract packages' settings dir to common/settings in image
That's a somewhat crude initial approach to installing the default
settings of packages when building the image.
2013-04-29 19:38:29 +02:00
Jérôme Duval
7e1f963596 style clean up 2013-04-11 18:09:35 +02:00
Jérôme Duval
575cfdf28a GCC4 cross tools: fixes the build with --use-gcc-graphite on another machine
* libsupc++ wasn't required, the build failed on x86_64.
* PPL: --disable-maintainer-mode configure option seems not enough to avoid an autoconf launch.
Solved by redefined AUTOCONF AUTOHEADER ACLOCAL AUTOMAKE variables to the noop command "true".
2013-04-11 17:57:42 +02:00
Jerome Duval
341c03f988 GCC4 cross tools: a static libGMP requires linking with the host libstdc++ 2013-04-10 23:25:39 +02:00
Jerome Duval
e0d1980015 GCC4 cross tools: build libGMP before PPL and CLooG
* libGMP is actually a CLooG dependency, we now build it before CLooG
and tell to GCC where to find it when Graphite build is activated.
2013-04-10 18:47:01 +02:00
Jerome Duval
024f78deeb GCC4 cross tools: disable "maintainer mode" on PPL configure.
* PPL: make could run autoconf in certain conditions, thus generating artefacts
in the source tree. Added --disable-maintainer-mode when launching
configure to avoid this situation.
* cleanup: there are no info files in CLooG and PPL.
2013-04-09 21:55:06 +02:00
Jerome Duval
0837d6c650 GCC4 cross tools: builds with ppl and cloog when --use-gcc-graphite is given 2013-04-06 14:32:12 +02:00
John Scipione
d86bc7f95e If can't find hrev tags set the version to the short hash
If no hrev tags are found the revision is blank and shows up as
0 in About System. This commit updates the revision function so that
it falls back to the current short hash instead. Only affects devel
builds and only if you've deleted your tags.
2013-01-14 19:37:56 -05:00
Matt Madia
35f3908149 Use strip provided by the cross-tools.
This allows a 32-bit host to successfully build x86_64.
2013-01-04 12:42:26 +00:00
Oliver Tappe
7c3985c617 Fix build of gcc2 on BSD (with bsdmake)
* apparently, -j1 doesn't work as intended with bsdmake, so we drop
  any multiple-job specification from MAKEFLAGS, instead
2012-11-23 21:10:24 +01:00
Alex Smith
11c9f9a1d6 Merge branch 'master' into x86_64
Conflicts:
	build/jam/FloppyBootImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	headers/private/shared/cpu_type.h
	src/bin/ps.c
	src/bin/sysinfo.cpp
	src/kits/tracker/PoseView.cpp
	src/preferences/appearance/DecorSettingsView.cpp
	src/preferences/virtualmemory/Settings.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/input/InputServer.cpp
	src/servers/input/InputServerMethod.cpp
	src/system/boot/Jamfile
	src/system/boot/platform/raspberrypi_arm/mmu.cpp
	src/system/boot/platform/u-boot/arch/arm/Jamfile
	src/system/kernel/arch/x86/arch_cpu.cpp
	src/system/kernel/arch/x86/arch_thread.cpp
	src/system/kernel/cache/block_cache.cpp
	src/system/kernel/vm/VMAnonymousCache.cpp
2012-11-18 14:02:07 +00:00
Oliver Tappe
29468041f9 Explicitly use -j1 when building gcc2
* specifying -j1 guards against potential multi-job arguments in
  MAKEFLAGS
2012-11-07 21:56:20 +01:00
Oliver Tappe
d006487564 Force POSIX-locale when building the buildtools
* using a non-POSIX locale may break the build (especially makeinfo),
  so we explicitly set the locale to POSIX
2012-11-07 21:54:02 +01:00
Jérôme Duval
4107ac9cda Cleanup of remains of subversion in the build system 2012-10-30 22:36:32 +01:00
Matt Madia
1a53a4d3f5 Refactored the stripping of debug symbols to be a per-archive basis.
Setting 'HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES = 1' will enable the
mechanism. By default all packages will be stripped. Passing anything
other than '1' or 'true' in the InstallOptionalHaikuImagePackage call
will disable it for a particular package.
2012-09-16 19:41:24 -04:00
Alex Smith
aaeadfcb02 Do a separate libgcc build for the kernel as well.
Turns out that libgcc is needed, for some reason building the kernel
with -O0 does not end up referencing libgcc but -O2 does. A separate
build of it is done with -mno-red-zone, same reason as for libsupc++.
Ended up being easy to rebuild with different CFLAGS: previously I'd
tried doing `CFLAGS="-mno-red-zone" make` in the libgcc dir which
didn't override, the correct way is `make CFLAGS="-mno-red-zone"`
2012-08-16 17:38:01 +01:00
Alex Smith
c864ba1a2d Build a separate libsupc++ for the kernel with correct flags.
Kernel mode code on x86_64 needs to be built with -mno-red-zone as
interrupts would corrupt the red zone if it were in use. However, the
kernel is linked with libsupc++, which was not compiled with
-mno-red-zone. If an interrupt occurred in libsupc++ code the red zone
would get corrupted. This was causing random panics, particularly under
heavy system load. Therefore, on x86_64 a separate build of libsupc++
with -mno-red-zone is now done for the kernel to use. Note: this commit
will require a rerun of configure and rebuild of cross tools.
2012-08-16 13:57:04 +01:00
Alex Smith
5084d0d451 Added more things to x86_64 image.
Some preference apps, mount_server and AboutSystem. Removed the check
for x86_64 in the boot script, the normal path through the script will
work now. Also removed a temporary hack to workaround AboutSystem not
being there in build_haiku_image.
2012-08-10 09:32:54 +01:00
Alex Smith
666b46e2e3 Added libbe, ICU and consoled to the image.
The boot script now launches consoled instead if app_server does not
exist, so there is now an interactive Bash prompt! libbe requires ICU,
which is an optional package, so I've built the packages and they've
been uploaded to haiku-files.org (thanks umccullough).
2012-07-30 21:42:49 +01:00
Alex Smith
e715eca04c Worked around broken GCC 2 on OS X hosts.
GCC 2 built for OS X 10.7/10.8 was broken, the Haiku build would fail
with some strange errors. Forcing compilation of GCC 2 in 32-bit mode
results in a working GCC.
2012-07-29 21:03:14 +01:00
Jérôme Duval
3af8da0ef8 use system zlib when cross building gcc4 to fix #8242
* this add a dependency on package zlib1g-dev for Linux systems.
2012-04-15 13:28:50 +02:00
Alex Smith
81eb68f280 Fixed a compilation failure for the x86_64 toolchain.
This appears to be a problem with GCC's build system: it defaults to having
multilib enabled, but if it is explicitly enabled with --enable-multilib,
the build fails.

Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>
2012-04-05 13:15:24 +02:00
Jérôme Duval
c59b279b71 Added workarounds and options for gcc 4.6.2
* add -Wno-unused-but-set-variable for gcc 4.6.x with a TODO
* fix warnings about wrong size of pointer cast in ioapic.cpp and AudioBuffer.cpp
2012-01-19 19:44:42 +01:00
Oliver Tappe
cdb7744bc7 Avoid warning about missing math.h.
* Apparently caused by the fact that we no longer run fixincludes,
  math.h is not being generated anymore. I haven't removed the rm
  from the script in order to be compatible with older compilers.
2011-11-23 17:02:23 +01:00
Oliver Tappe
25389523bd Touch c-gperf.h before building legacy gcc. 2011-11-22 22:28:09 +01:00
Oliver Tappe
489c0689ec Fix typo in build_cross_tools. 2011-11-22 16:21:06 +01:00
Ingo Weinhold
2f7b75b323 Fix the gcc bison issue for real
Also touch cp/parse.{c,h}, which apparently are the culprit.
2011-11-15 20:22:23 +01:00
Ingo Weinhold
4f23d85e4f Work around issue with newer bison versions
Touch the source files generated by bison, so that make won't try to
have them updated.
2011-11-15 19:49:25 +01:00
Ingo Weinhold
19ae20e67e Merge branch 'master' into pm-flat
Conflicts:
	build/jam/HaikuImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	build/jam/UserBuildConfig.sample
	data/bin/installoptionalpackage
	src/apps/deskbar/DeskbarMenu.cpp
	src/servers/debug/DebugServer.cpp
	src/system/kernel/fs/vfs.cpp
2011-11-05 17:00:01 +01:00
Ingo Weinhold
530590d3b9 * Document that the haikuRequiredLegacyGCCVersion variable is
influencing this script.
* If haikuRequiredLegacyGCCVersion has not been specified, assume that
  the script was called manually and just use the version string from
  the gcc sources.
* Make error output a bit more consistent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-03 14:22:31 +00:00
Oliver Tappe
312e961c5d Closing #8063:
* touch all .info files before trying to build the gcc4
  buildtools in order to avoid the dependency on makeinfo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-30 19:39:12 +00:00
Ingo Weinhold
161d45feb5 Support for package "update" build profile action
* Add global HAIKU_PACKAGES_UPDATE_ONLY build system variable, which is
  set for the "update" and "update-all" build profile actions.
* Change the HAIKU_INCLUDE_IN_CONTAINER_VAR variable on packages to
  HAIKU_INCLUDE_IN_PACKAGES for all packages. The variable is also
  set for the "update" and "update-all" build profile actions.
* Introduce HAIKU_CONTAINER_INHERIT_UPDATE_VARIABLE on container
  variable. If set, the contained variable will be set on the container
  when one or more files in it are updated. It is set on packages so an
  update of a file in a package causes the package to be updated in the
  image.
* Introduce HAIKU_CONTAINER_ALWAYS_CREATE_DIRECTORIES on container
  variable. If set, directories will be created also in update mode. It
  is set on packages.
2011-07-17 16:54:58 +02:00
Ingo Weinhold
32081667b1 Make use of package create -i option 2011-07-17 16:54:51 +02:00
Ingo Weinhold
355b8ba755 Build a system Haiku package
* Create rules (build/jam/PackageRules) and a script,
  build_haiku_package, to build hpkg files.
* Move all rule invocations that copy files and created symlinks and
  directories in the "system" directory from HaikuImage to
  HaikuPackages, which creates a package "haiku.hpkg".
* build_haiku_image: Comment out adding the copyrights info to
  AboutSystem for the moment.
2011-07-17 16:54:11 +02:00
Oliver Tappe
3dfd9cb95c Flat commit of all changes from package-management branch in svn 2011-07-17 16:54:06 +02:00
Oliver Tappe
1b3d2b0c46 Simplify haiku-revision for git, now that we provide revision-tags in our central git repo:
* instead of describing the changeset from perspective of the current branch's root,
  we describe it relative to the last reachable hrev-tag


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 18:20:38 +00:00
Matt Madia
c188658c85 Fixed the build for operating systems that are not Haiku.
Spotted by luroh. Patched by augiedoggie. Fixes #7607.
+alpha3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 22:38:35 +00:00
Matt Madia
b8c41a1ad8 Applied a patch by Ingo, to strip the debug info from optional packages.
To note, the reduction of block size from 2048 to 1024 was not applied.
Introduced a new build variable HAIKU_STRIP_DEBUG_FROM_OPTIONAL_PACKAGES,
which will allow users to enable/disable that functionality. In the
alpha-* and nightly-* profiles, it is enabled. Reduced the image size
for alpha-* to 690M. The size for nightly images was left untouched.
+alpha3


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 18:02:21 +00:00
Alexander von Gluck IV
b1bf2196d3 add an attempted fallback to genisoimage if mkisofs doesn't exist on the system. (debian no longer ships mkisofs) genisoimage is based on an older version of mkisofs and has issues with long filenames. The genisoimage iso-level override makes the image work and allows long filenames but may introduce issues? placed a warning to the user that genisoimage is a fallback
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-25 02:13:13 +00:00
Michael Lotz
901c33fcd0 Replace the $(...) syntax with backticks instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 21:14:41 +00:00
Michael Lotz
85d9520ec4 Use gsed instead of sed on Mac OS X as the builtin sed doesn't support all the
options we need. This still requires gsed to be installed from ports.
Fixes #7563.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 19:23:56 +00:00
Oliver Tappe
2fe19bf6ac Adjusted code for determining the revision in order to hopefully work on FreeBSD, too
* convert determine_haiku_revision to only contain functions and now pass the arguments 
  via function call


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:11:42 +00:00
Oliver Tappe
8ff44a4329 Fix and improve code for determining Haiku revision from a git repo
* break out most of the CopySetHaikuRevision action into a separate script:
  determine_haiku_revision
* fix git branch detection such that it'll actually work for local branches (thanks to 
  Andreas Färber for the hint)
* add some sanity checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 22:45:43 +00:00
Joachim Seemer
f79510c141 Changed comment prefix from # to //. Thanks yourpalal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-04 18:27:00 +00:00
Joachim Seemer
8235ff073b * Added all yet missing flags (245 all in all) plus some more optimizations.
* GS, KY and PN all share the same flag, because I'm too lazy to add their
  specific code of arms, which one wouldn't recognize in the small flag
  anyway... At least every country is now listed in CountryFlags.rdef, so
  anyone can improve flags and simply replace the rdef data there.
* Added newly generated CountryFlags.rdef
* Added little script to create CountryFlags.rdef to build/scripts/ just in
  case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-29 17:18:28 +00:00
Matt Madia
50ca9a25c9 As per Ingo's comment 13 in #7286, removed support for isGCCAgnostic.
There should be separate gcc 2 and gcc 4 packages instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-05 22:55:31 +00:00
Ingo Weinhold
3292bde924 Opening a FIFO end is supposed to block until the other end is opened, too.
So we need a little work-around to open both ends in the shell process to
avoid blocking. Apparently Haiku's FIFO implementation isn't quite conforming
yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-04 01:39:30 +00:00
Ingo Weinhold
17ebe2b021 Reimplemented the communication with the FS shell for Unixish systems (now
including also Haiku) using FIFOs instead of Unix sockets. Advantages:
* Multiple FS shells can run concurrently, since they no longer need a unique
  address.
* Killing/aborting the build_haiku_image script will automatically tear down
  the FS shell as well, so there shouldn't be any stray FS shell processes
  anymore. Hopefully also fixes #5498.

So far only tested under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-04 01:06:56 +00:00
Oliver Tappe
8b31c7e7aa * oops - removed debug leftover
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-27 00:58:34 +00:00
Oliver Tappe
540cbcd8e6 * add explicit check against mismatching version of legacy compiler, avoids
trying to build the compiler when it's not going to work


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-27 00:57:11 +00:00
Matt Madia
1e4d65f578 Create symlinks for the static libs of GCC Agnostic packages.
Note: Should we create symlinks for the *.la libtool related files?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-18 03:11:28 +00:00
Ingo Weinhold
266681e27c Patch by Nathan Mentley: Build the x86-64 build tools with multilib support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-14 23:03:59 +00:00
Ingo Weinhold
56943eaa58 Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-27 20:14:18 +00:00
Matt Madia
3a72ddf8ae Fixed the syntax of ln to work on FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-25 04:32:33 +00:00
Matt Madia
80c7dda631 Fixed the string comparison tests. Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-24 21:32:17 +00:00
Matt Madia
4eb0a8c2fd Enhance InstallOptionalHaikuImagePackage to accept a new parameter, which
indicates the archive to be usable with either GCC. When utilized, the
packages shared libraries will automatically be symlinked in the alternative
gcc subdir, eg common/lib/gcc4. At the moment, packages that set isCDPackage
are not supported, as Installer needs to be enhanced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-24 19:52:36 +00:00
Matt Madia
99265bcd8b Add support for realpath in build_haiku_image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-20 03:36:06 +00:00
Matt Madia
218aa6d9e8 Unified build_haiku_[cd|image] scripts. Fixes #5490.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-10 23:14:42 +00:00
Matt Madia
18a69c72f6 Condensed build_zip_archive & build_zip_archive into a single script,
build_archive. Updated ImageRules accordingly. Tested on the following:
 * jam -q -sTARGET_BOOT_PLATFORM=pxe_ia32 pxehaiku-loader haiku-netboot-archive
 * jam -q haiku-boot-floppy
 * jam -q haiku-alternative-gcc-archive


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-30 05:32:50 +00:00
Matt Madia
7eb9b5f4af Use "set -o errexit" to error out when a command failed. Make sure parent
directories are created as needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-08 02:28:23 +00:00
Matt Madia
b745c2a919 Explicitly tell tar to use the ustar format when creating the tgz archive. This
resolves the issue of FreeBSD 8.0 of creating ISOs that will not boot. ISO
creation was also tested with FreeBSD 7.2 and Haiku r35767 gcc2hybrid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-08 02:16:05 +00:00
Ingo Weinhold
c7b1040cde From: Matt Madia
* Added "extractedSubDir" parameter to ExtractArchiveTo{Container,HaikuImage}.
  If given it specified the path of the subdirectory in the archive that
  shall be extracted.
* Added AddWifiFirmwareToHaikuImage rule for extracting Wifi firmware
  archives onto the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 18:15:47 +00:00
Ingo Weinhold
05bbc668af From: Matt Madia
* InstallOptionalHaikuImagePackage: Made the first argument an actual file
  name, i.e. the extension ".zip" is no longer appended by it.
* Renamed rules UnzipArchiveTo{Container,HaikuImage} to
  ExtractArchiveTo{Container,HaikuImage} and generalized them to support
  tgz/tar.gz archives (implemented in build_haiku_{image,cd}).
* Removed DownloadOptionalPackage. DownloadFile is used instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 17:48:12 +00:00
François Revol
eadd244c0f Fallback to greadlink (for OSX) (it must be installed with macports).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-05 09:41:37 +00:00
François Revol
29bbb0ca9f Fix stream redirection order so stderr actually goes to /dev/null.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-05 09:28:40 +00:00
Ingo Weinhold
f6543e7d55 "&>" is not POSIX. Use "2>&1 >" instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-22 11:39:12 +00:00
Ingo Weinhold
df6a690eae Patch by Matt Madia: Use "set -o errexit" to error out when a command failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35151 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-19 02:39:03 +00:00
Ingo Weinhold
74887321dd Ignore the additional make flags when building gcc 2. Currently those are
only -jN and gcc's build system has problems with multiple jobs. It works
fine for binutils and gcc 4 though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 15:48:09 +00:00
Oliver Tappe
fbb3d94f46 * handle the fact gracefully that some of our BuildSetup jam variables contain
'+' as part of their name, which is illegal for shell variables (where the
  corresponding replacement character is 'X'). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 08:59:10 +00:00
Oliver Tappe
7c4641d0af * added --update option to configure which will re-run the last invocation
(--update must be given as first option, but can be followed by others)
* added simple perl scripts that is used by configure to convert BuildSetup
  from jam to shell format



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-04 19:36:58 +00:00
Ingo Weinhold
2222d0559d * Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
  abstraction by defining types and macros that allow the posix/ and os/
  headers to be mostly architecture/compiler agnostic. 
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
  and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
  types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
  macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
  unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
  defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 19:44:07 +00:00
Ingo Weinhold
60d8d8fcc5 * Added -j<n> option to configure. It is passed to the
build_cross_tools[_gcc4] script which in turn passes it to make. Cores and
  hyperthreads are plentiful these days; no need to let most of them idle when
  building the cross tools.
* Sorted the configure options alphabetically again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-23 19:34:55 +00:00
Michael Lotz
39e251f2d2 Remove the -U option when building the CD. It's not needed as we use rockridge
anyway and makes the CD more compliant.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-13 02:03:01 +00:00
Michael Lotz
5be3cdb679 Force uid and gid to 0 when building the CD. This avoids taking over foreign
user and group ids on build platforms that support them. Fixes #4458.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-11 18:12:16 +00:00
Bruno G. Albuquerque
a6996bf541 - Fix an issue with using update-install to a partition that has spaces in its
name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 23:14:21 +00:00
François Revol
91446a1477 Don't know why multilib was disabled in r29035, but we'll likely need it for arm, and m68k as well...
Make it depend on haikuMachine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-09 15:38:41 +00:00
Oliver Tappe
16d5c24e53 * merged 32bit-wchar_t branches of buildtools and haiku back into
the respective trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-07 10:30:09 +00:00
Ingo Weinhold
a474455132 Changed the way the zip archive with the alternative gcc libraries is built.
Now that's done like building the network boot archive, which gives us a lot
more flexibility for defining its contents.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-25 01:21:32 +00:00
Ingo Weinhold
526d707eb6 Added new build tool create_image which is now used to create and/or clear a
raw image. This fixes the problem that an existing image couldn't be resized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-12 09:18:18 +00:00
Axel Dörfler
317bd7dda3 * Changed directory structure as suggested on the mailing list.
* Made the TimeZoneView less error prone, and also actually use Haiku code (the
  previous check didn't work since it used #if, not #ifdef).
* Also took the liberty to rename our boot loader to haiku_loader, since I had
  to update the nasm binary anyway. Updated the assembly sources to nasm 2.0.
* I haven't found where the synth location in the MIDI code is specified,
  though.
* Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do
  so next.
* Some optional packages still put their license to beos/etc/licenses. I didn't
  update them yet, as we'll probably do so anyway at some point. Also, I think
  we might want to introduce a common/data/licenses instead for those.
* If you encounter any problems, please tell!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-03 09:02:44 +00:00
Ingo Weinhold
328029e178 Patch by Alexander von Gluck (kallisti5) to get the PPC build going again
(mostly at least). Also disables -Werror for the binutils, but those should
be fixed eventually.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-30 15:00:10 +00:00
Rene Gollent
40ae63da1d No longer necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-26 02:18:03 +00:00
Michael Lotz
b435702774 * Simplify the build of the CD a bit, just reuse the image scripts as those hold
what we want.
* Remove some more temporary files/directories after the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-15 13:30:42 +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
a16e2a1c69 Forgot to update this reference when renaming be/ to os/.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-28 02:02:51 +00:00
Michael Lotz
3bdbdcb23e The default include paths have been updated from be/ to os/ so copy correspondingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-26 23:57:59 +00:00
Michael Lotz
8ffb1d6966 Updating config for current GCC4 cross compiler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-26 05:15:41 +00:00
Ingo Weinhold
fecef4111e As proposed by "augiedoggie" undefine the _FORTIFY_SOURCE macro, which
apparently is enabled by default on newer Ubuntu versions and breaks the
gcc build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-31 12:46:49 +00:00
François Revol
f868be6863 - Have OpenBSD use gmake
- export MAKE to make sure submakes use it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-20 19:40:36 +00:00
Philippe Houdoin
127456e5b5 Added user-defined image volume label support.
The default label is as previously: Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-19 17:32:57 +00:00
Axel Dörfler
e7ada11b55 * Use -f (force) when copying, or else it may bail out if the target already
exists -- this seems to happen only in case a specific name is given for
  the target, though, so it might well be a bug in the fs_shell as well.
  Seen when copying kernel.so to _KERNEL_ on a "update-all".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-18 08:39:46 +00:00
Ingo Weinhold
2f031c27c5 Use "readlink -f" which seems to be more portable. Also check whether
invoking it this way works at all; this avoids problems with readlink
programs that don't support the option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-19 00:23:20 +00:00