fix the build on darwin:

-fs_shell was using weak aliases, which is apparently not supported on the darwin toolchain 
	(or it's supported in some different way)
-remove building strl* routines for some of the host tools, since that already exists in libSystem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21407 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Travis Geiselbrecht
2007-06-14 05:17:59 +00:00
parent 93c2088983
commit b9a5b9a6ee
3 changed files with 22 additions and 5 deletions
+6 -2
View File
@@ -21,6 +21,11 @@ UseHeaders [ FDirName $(HAIKU_TOP) headers build private kernel ] : true ;
# locate the library # locate the library
MakeLocate libroot_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; MakeLocate libroot_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
# darwin already has strlcpy and strlcat in libSystem
if $(HOST_PLATFORM) != darwin {
STRLSRC = strlcpy.c strlcat.c ;
}
BuildPlatformSharedLibrary libroot_build.so : BuildPlatformSharedLibrary libroot_build.so :
atomic.cpp atomic.cpp
byteorder.cpp byteorder.cpp
@@ -32,8 +37,7 @@ BuildPlatformSharedLibrary libroot_build.so :
sem.cpp sem.cpp
thread.cpp thread.cpp
strlcpy.c $(STRLSRC)
strlcat.c
strnlen.c strnlen.c
: :
+10 -1
View File
@@ -869,9 +869,18 @@ fssh_get_driver_settings(void *handle)
return &((settings_handle *)handle)->settings; return &((settings_handle *)handle)->settings;
} }
#ifndef HAIKU_HOST_PLATFORM_DARWIN
// this creates an alias of the above function // this creates an alias of the above function
// unload_driver_settings() is the same as delete_driver_settings() // unload_driver_settings() is the same as delete_driver_settings()
extern "C" __typeof(fssh_unload_driver_settings) fssh_delete_driver_settings extern "C" __typeof(fssh_unload_driver_settings) fssh_delete_driver_settings
__attribute__ ((alias ("fssh_unload_driver_settings"))); __attribute__ ((alias ("fssh_unload_driver_settings")));
#else
// can't use weak aliases on darwin apparently
fssh_status_t
fssh_delete_driver_settings(void *handle)
{
return fssh_unload_driver_settings(handle);
}
#endif
+6 -2
View File
@@ -13,12 +13,16 @@ SubDirC++Flags -include $(r5Compatibility) ;
BuildPlatformStaticLibrary <build>librdef.a : BuildPlatformStaticLibrary <build>librdef.a :
compile.cpp decompile.cpp lexer.l parser.y rdef.cpp ; compile.cpp decompile.cpp lexer.l parser.y rdef.cpp ;
# these platforms do not need a second copy of the strl routines
if $(HOST_PLATFORM) != darwin && $(HOST_PLATFORM) != linux && $(HOST_PLATFORM) != freebsd {
STRLSRC = strlcpy.c strlcat.c ;
}
BuildPlatformMain <build>rc : BuildPlatformMain <build>rc :
rc.cpp rc.cpp
# these two are needed for R5 only # these two are needed for R5 only
strlcpy.c $(STRLSRC)
strlcat.c
; ;
LinkAgainst <build>rc LinkAgainst <build>rc
: <build>librdef.a $(HOST_LIBSTDC++) $(HOST_LIBBE) $(HOST_LIBSUPC++) ; : <build>librdef.a $(HOST_LIBSTDC++) $(HOST_LIBBE) $(HOST_LIBSUPC++) ;