Commit Graph

74 Commits

Author SHA1 Message Date
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
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