On 10/08/2013 11:36 PM, revol@xxxxxxx wrote:
diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules index f56ff9b..7e90f66 100644 --- a/build/jam/ArchitectureRules +++ b/build/jam/ArchitectureRules @@ -154,6 +154,10 @@ rule ArchitectureSetup architecture HAIKU_GCC_LIBGCC_OBJECTS_$(architecture) = $(HAIKU_GCC_LIBGCC_OBJECTS_$(architecture):G=libgcc!$(architecture)) ;
That shouldn't be needed anymore.
+ # List of libgcc objects we don't want to keep + HAIKU_GCC_LIBGCC_OBJECTS_EXCLUDES_$(architecture) + = eabi.o ; + # the C++ standard library HAIKU_BUILD_SHARED_LIBSTDC++_$(architecture) = ; if $(HAIKU_SHARED_LIBSTDC++_$(architecture)) { diff --git a/src/system/libroot/Jamfile b/src/system/libroot/Jamfile index 9a5991b..8f1e746 100644 --- a/src/system/libroot/Jamfile +++ b/src/system/libroot/Jamfile @@ -2,6 +2,31 @@ SubDir HAIKU_TOP src system libroot ; UsePrivateHeaders libroot runtime_loader ; +rule FilterArchive {
Coding style...
+ # FilterArchive <target> : <source> : <members to remove> + + # set the tools according to the platform + AR on $(1) = $(TARGET_AR_$(TARGET_PACKAGING_ARCH)) d ; + # TODO: use $(TARGET_DELARFLAGS_$(TARGET_PACKAGING_ARCH)) + RANLIB on $(1) = $(TARGET_RANLIB_$(TARGET_PACKAGING_ARCH)) ; + + MakeLocateArch $(1) ; + Depends $(1) : $(2) ; + File $(1) : $(2) ; + # we don't want the path + # XXX: is it done this way? + NotFile $(3) ;
If you pass it as an action parameter, it will be considered a target and will be bound. The correct solution would be to pass it via an on-target variable instead.
+ + # delete the unwanted members + FilterArchive1 $(1) : $(3) ; + + if $(RANLIB) { Ranlib $(1) ; }
Coding style...
+} + +actions FilterArchive1 {
Coding style...
+ $(AR) $(<) $(>) +} +
Why not do that in configure instead? For just a "cp" and an "ar" invocation this is a lot of text. And the resulting library isn't gonna change, until configure is run again, anyway.
CU, Ingo