Commit Graph

54 Commits

Author SHA1 Message Date
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
Ingo Weinhold
ff0df461c4 If it contains symlinks, resolve the image path. This avoids problems
with certain Linux setups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-18 13:02:41 +00:00
Ingo Weinhold
5f78d261a2 Added rules AddOptionalPackageDescriptionToHaikuImage and
AddLicenseToHaikuImage that can be used in optional package definitions
to add a copyright entry in AboutSystem and add a license file to
/etc/licenses.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-04 16:06:41 +00:00
Ingo Weinhold
eecbf4e78e * Copy licenses to the image (/etc/licenses).
* Whenever unzipping a zip archive to the image, we do first check, if
  it contains an .OptionalPackageDescription file. If so, its contents
  is appended to AboutSystem's "COPYRIGHTS" attribute, which will cause
  the respective info to be shown in the about view.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-19 15:55:54 +00:00
Ingo Weinhold
59aca63f4c Simplified creation of the MIME DB. We create it in a directory first
and then copy it in one go instead of copying individual files. Also use
a single temp file instead of one for every entry.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 15:46:00 +00:00
François Revol
3ee7fad0a9 export foo=bar doesn't seem to work with plain sh...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 02:45:21 +00:00
François Revol
a559f87af8 Remove use of bashisms since we use #!/bin/sh. This should help supporting solaris.
Added sunos to the list of platforms, but it needs more work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-12 02:40:10 +00:00
Ingo Weinhold
7c529c2415 * Renamed vmdkheader to vmdkimage and changed it to create a full image
by default (new option "-H" will create the header only). Option "-c"
  will clear the image.
* Adjusted build_haiku_image accordingly. vmdkimage is way faster and
  more portable than the former vmdkheader+dd combo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 21:18:18 +00:00
Ingo Weinhold
0bcca89476 Quote the image path to deal gracefully with spaces and the like.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 21:11:04 +00:00
Ingo Weinhold
88c4c6627b * Added new rule CopyDirectoryToHaikuImage which recursively copies a
directory to the image. It supports exclude patterns.
* Changed Add{Source,Header}DirectoryToHaikuImage to use the
  CopyDirectoryToHaikuImage rule. The special handling in the
  build_haiku_image script is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 04:14:25 +00:00
Ingo Weinhold
0da9c20813 Switched the legacy compiler to the i586-pc-haiku 2.95.3-haiku-080323
gcc. You need to reconfigure and rebuild the cross-tools to have this
change take effect.

Note that from now on it is no longer possible to use the native BeOS
compiler to build Haiku. You'll have to build a cross compiler, too. I
haven't tested whether this works at all, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 23:06:23 +00:00
Ingo Weinhold
0ba49c35b3 * BuildPlatformMain supports overriding HOST_LIBROOT on the target now,
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
  - Added build tool rm_attrs, a simple "rm" replacement, which also
    removes the attributes directory for a given file.
  - Added build/scripts/rm_attrs shell script, which wraps the
    invocation of the rm_attrs tool. If it doesn't exist yet, the
    ordinary rm is used.
  - The RM jam variable refers to the rm_attrs script now, i.e. whenever
    something is removed by the build system, the attributes are removed
    too (if the build tool has already been built, that is).
  - Removed the shell function attrrmrf() in build_haiku_image. We use
    the rm_attrs tool instead, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 21:05:03 +00:00
Ingo Weinhold
0cfb40d0dc Define HUGE_VAL in <math.h> conditionally. That's what gcc's fixincludes
hack math_huge_val_ifndef does, anyway. We do it ourselves and remove
the therefore superfluous gcc math.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-16 16:39:06 +00:00
François Revol
9e2e307479 Use 2048 as block size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 12:19:19 +00:00
François Revol
d85edf56df Check if /bin/stat supports the gnuish -c option, else fallback to BSD syntax.
This should fix ticket #1676, please try.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 19:42:20 +00:00
Ingo Weinhold
24326abfa3 Bail out early, when initializing or mounting an image via bfs_shell
fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:34:26 +00:00
Axel Dörfler
631145a976 * Added new rule AddHeaderDirectoryToHaikuImage that copies header
directories. Note that you need an updated "sed" (from the Haiku
  repository) if you want to use that rule.
* The "Development" optional package now installs the Haiku headers
  needed to build stuff (ie. "os", "gnu", and "posix"). It also makes
  a symlink "be" so that we can still use the BeOS compiler with its
  builtin header paths.
* Fixed AddVariableToScript for older shells that do not support '+='.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-22 10:33:43 +00:00
Ingo Weinhold
2fcb695c2b axeld + bonefish:
Changed the way the VMware image is built. Instead of creating a normal
image first and then adding vmdk header and that image, we create the
VMware image in one go, now. Therefore "jam update-vmware-image ..."
does now actually update the VMware image directly, instead of updating
the normal image and recreating the VMware image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 13:54:32 +00:00
Philippe Houdoin
a9f2290ede Fixed issue with space(s) in zipfile name or destination directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 02:16:13 +00:00
Ingo Weinhold
498c6565c6 Copying source directories to the image was broken, when building from
the root of the source tree. Added a work-around that should fix the
problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 21:21:02 +00:00
Ingo Weinhold
a820102c34 When installing Haiku into a directory, unzipping optional packages
overwrites existing files without prompt, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 20:04:40 +00:00
François Revol
d4db8540c0 Only remove attribute storage files if generated/attributes/ exists, else skip the slow find.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 00:30:00 +00:00
François Revol
ef9aa9a756 Finally got a fix for attribute errors when building on linux without xattr.
After copying the mime db or packages the files were removed, but not the corresponding attribute storage files.
So when an inode got reused the file inherited those leftover attributes.
We now remove them before removing the files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-17 22:26:17 +00:00
Ingo Weinhold
21873fffb3 Partitions are no regular files. The check for mere existence shall
suffice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 17:36:52 +00:00
Ingo Weinhold
f515ed5f77 Added build variable HAIKU_DONT_CLEAR_IMAGE. When set and the image does
already exist, it won't be zeroed out. The image will still be
initialized with BFS, though. Handy for installing Haiku on a partition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 17:27:13 +00:00
Ingo Weinhold
0d469404ed Added support for unzipping archives onto the Haiku image. The new rule
to do that is UnzipArchiveToHaikuImage. Cf. UserBuildConfig.sample for
a usage example.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-04 21:50:00 +00:00
Ingo Weinhold
1ca065fa88 * Added second parameter to AddDirectoryToHaikuImage, a list of resource
(or rdef) files which will be converted to attributes and added to the
  installed directory. Adjusted build_haiku_image script accordingly.
* Added directory data/image_directories, which is where the resource
  files for the directories attributes shall be stored. As naming
  convention I suggest using the target directory path with slashes
  replaced by hyphens, e.g. home-config-bin.rdef for home/config/bin.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-26 23:20:58 +00:00
Ingo Weinhold
b39c8d3711 * Refactored the image creation rules. There are now generalized rules that
work on arbitrary "containers". The image rules are just
  specializations.
* Added rules, a definition file (build/jam/NetBootArchive), and a shell
  script for creating a gzipped tar archive containing kernel and modules
  required for network booting (the contents may need some fine-tuning).
  ATM it can be built via the haiku-netboot-archive pseudo target. It is
  generated in the output directory (e.g. "generated").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-11 01:04:35 +00:00
Ingo Weinhold
6dcd0ccf23 Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 15:59:04 +00:00
Ingo Weinhold
afed18de79 New build system feature to shorten the turn-around times when working
with image files. E.g.

  jam -q update-image libbe.so kernel_x86

will only build libbe.so and the kernel (if necessary) and copy them
onto the already existing Haiku image. The MIME DB will not be
reinstalled, and only those source directories will be copied for which
the AddSourceDirectoryToHaikuImage rule is given a second argument
(e.g. "1"). The image will otherwise remain unchanged.

The "update-vmware-image" and "update-install" work similarly for the
VMWare image and the directory installation respectively. Note that, due
to the way the VMWare image is created (prepending a header to the
standard image), the file itself is fully rebuilt, i.e. changes made
during the emulation will be lost after updating the VMWare image.

The feature requires Haiku's jam. With other jam versions a similar
effect can be reached by accordingly setting the HAIKU_IMAGE_UPDATE_ONLY
and HAIKU_INCLUDE_IN_IMAGE in the UserBuildConfig file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 21:13:35 +00:00
Ingo Weinhold
4477befef2 * Modified AddVariableToScript to support multi-element arrays.
* Added rule AddSourceDirectoryToHaikuImage to copy source directories
  onto the image. They will be placed in /boot/home/HaikuSource/...
  according to their relative path. This should make it a bit more
  comfortable to use gdb as a source level debugger. Alas, the
  directories have to be made known to gdb individually (with the
  "directory" command). I guess we should update to 6.6...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-24 23:34:28 +00:00
Ingo Weinhold
5ca2f7aa8c gcc 4.1.2 conveniently saves the version number in a separate file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 04:47:55 +00:00
Travis Geiselbrecht
6e2615e2d1 When building binutils, build without -Werror. This was causing failures on my linux box due to silly warnings in binutils code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-25 07:06:43 +00:00
Ingo Weinhold
d0097591b0 Added shebang. Should fix bug #956.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 10:50:11 +00:00
Stefano Ceccherini
e733c6856a Fixed bug 931 by using a different construct to redirect both stderr and
stdout to /dev/null


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 20:45:06 +00:00
Stefano Ceccherini
f7ee8c0d1c Removed bashisms from build_haiku_image, thus fixing part of bug 931.
There's still some weird output being printed, but building the mime 
database now works under dash too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 20:23:35 +00:00
Stephan Aßmus
d6951dd4ca * redefined mkindex -> why was it removed?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-03 09:36:49 +00:00
Oliver Tappe
a5b60fa88e * reverted changes of revision 18985, as Ingo has pointed out, they were useless.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-03 23:41:59 +00:00
Oliver Tappe
be2bd5ef4b * implemented a suggestion of korli: the legacy & gcc4 cross-tools are now built
in separate folders ('cross-tools-legacy' and 'cross-tools-gcc4') and you
  can use the new cmdline-switches 'use-cross-tools' and 'use-cross-tools-gcc4'
  to switch between those two. Before, you always had to recompile the tools
  in order to switch.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-01 18:52:48 +00:00
Oliver Tappe
af4bf973bb * fixed dependency of build_cross_tools on version of legacy compile, this finally fixes
building of cross-compiler on Linux (as reported by korli, thanks!).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-16 15:40:36 +00:00
Ingo Weinhold
cf0b5d2551 Workaround that fixes MIME DB problems under Linux, at least when
building an image from the scratch (with empty attributes and objects
dirs). This closes bugs 194 and 253.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-08 10:40:51 +00:00
Stefano Ceccherini
dab6094902 sorry, this wasn't correct
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-05 19:55:49 +00:00
Stefano Ceccherini
927a84f8f6 mkindex wasnt' built, so install-haiku failed on systems different than beos. Now it fails because it doesn't know what BEOS:APP_SIG is. I have no idea how to fix that problem, please someone have a look.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-01 22:32:23 +00:00
Ingo Weinhold
20ab75e64c Adjusted build_cross_tools_gcc4 and configure to be able to build PPC
build tools as well. The configure option --build-cross-tools-gcc4 has a
new parameter to specify the architecture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-06 22:45:11 +00:00
Ingo Weinhold
9743fe8729 When building the gcc 4 cross tools we now configure for machine
i586-pc-haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-05 15:01:20 +00:00
Ingo Weinhold
6724a1930d Adjusted build_cross_tools[_gcc4] scripts according to the new directory
layout in the buildtools module.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-22 23:34:51 +00:00