From c5271e6b51d032ae87de2dce85a8586848bdfc4a Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Thu, 8 Oct 2015 18:53:56 -0400 Subject: [PATCH] makebootable: Fix various build problems. - Add jamfile for a build variant of libuuid. - Adjust the build version of makebootable to link to that instead, as it would otherwise link in the target platform's version of libuuid_kernel, which wasn't necessarily compatible with the build platform's objects (i.e. when building a 32-bit Haiku image on a 64-bit host OS), and would consequently fail. --- src/build/Jamfile | 1 + src/build/libuuid/Jamfile | 19 +++++++++++++++++++ .../makebootable/platform/bios_ia32/Jamfile | 2 +- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/build/libuuid/Jamfile diff --git a/src/build/Jamfile b/src/build/Jamfile index f084d75ec7..6e07352cdc 100644 --- a/src/build/Jamfile +++ b/src/build/Jamfile @@ -7,6 +7,7 @@ SubInclude HAIKU_TOP src build libpackage ; SubInclude HAIKU_TOP src build libroot ; SubInclude HAIKU_TOP src build libshared ; SubInclude HAIKU_TOP src build libsolv ; +SubInclude HAIKU_TOP src build libuuid ; if $(HOST_PLATFORM) = darwin { SubInclude HAIKU_TOP src build libgnuregex ; diff --git a/src/build/libuuid/Jamfile b/src/build/libuuid/Jamfile new file mode 100644 index 0000000000..c4ee608690 --- /dev/null +++ b/src/build/libuuid/Jamfile @@ -0,0 +1,19 @@ +SubDir HAIKU_TOP src build libuuid ; + +SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src libs uuid ] ; +SubDirCcFlags [ FDefines _KERNEL_MODE ] ; + +MakeLocate libuuid_build.a : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; + +BuildPlatformStaticLibrary libuuid_build.a : + clear.c + compare.c + copy.c + gen_uuid.c + isnull.c + pack.c + parse.c + unpack.c + unparse.c + uuid_time.c +; diff --git a/src/tools/makebootable/platform/bios_ia32/Jamfile b/src/tools/makebootable/platform/bios_ia32/Jamfile index d07bda623d..2e2c85e7ad 100644 --- a/src/tools/makebootable/platform/bios_ia32/Jamfile +++ b/src/tools/makebootable/platform/bios_ia32/Jamfile @@ -18,7 +18,7 @@ if $(HOST_PLATFORM) = linux || $(HOST_PLATFORM) = freebsd || $(HOST_PLATFORM) = hostPlatformSources = PartitionMap.cpp PartitionMapParser.cpp crc32.cpp Header.cpp utility.cpp ; - hostPlatformLibs = libuuid_kernel.a ; + hostPlatformLibs = libuuid_build.a ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;