Skip to content
This repository has been archived by the owner on Apr 15, 2023. It is now read-only.

Commit

Permalink
clean up lib extension name, add script to fix internal dylib paths (…
Browse files Browse the repository at this point in the history
…work in progress)
  • Loading branch information
davilla committed Sep 5, 2012
1 parent e1ab086 commit 482888d
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 7 deletions.
12 changes: 5 additions & 7 deletions addons/Makefile.include.am
Expand Up @@ -13,18 +13,16 @@ clean:
-rm -r -f $(LIB) $(ADDONBINNAME).pvr @abs_top_srcdir@/addons/$(ADDONNAME).@OS@-@ARCHITECTURE@.zip @abs_top_srcdir@/addons/.build/$(ADDONNAME) *.so *.lo *.o *.la *.a *.P *~

release: $(lib_LTLIBRARIES)
cp -f .libs/$(LIBNAME).@DYN_LIB_EXT@ $(ADDONBINNAME).pvr
$(STRIP) -x $(ADDONBINNAME).pvr
if HOST_IS_OSX
cp -f .libs/$(LIBNAME).dylib $(ADDONBINNAME).pvr
else
cp -f .libs/$(LIBNAME).so $(ADDONBINNAME).pvr
@abs_top_srcdir@/scripts/dylib_fix_paths.sh $(ADDONBINNAME).pvr
endif
$(STRIP) -x $(ADDONBINNAME).pvr

debug: $(lib_LTLIBRARIES)
cp -f .libs/$(LIBNAME).@DYN_LIB_EXT@ $(ADDONBINNAME).pvr
if HOST_IS_OSX
cp -f .libs/$(LIBNAME).dylib $(ADDONBINNAME).pvr
else
cp -f .libs/$(LIBNAME).so $(ADDONBINNAME).pvr
@abs_top_srcdir@/scripts/dylib_fix_paths.sh $(ADDONBINNAME).pvr
endif

$(LIB): @BUILD_TYPE@
Expand Down
3 changes: 3 additions & 0 deletions configure.ac
Expand Up @@ -29,6 +29,7 @@ ARCHITECTURE="unknown"
HOST_INCLUDES=""
HOST_CXXFLAGS=""
ARCH_DEFINES="-DTARGET_POSIX -DTARGET_LINUX -D_LINUX"
DYN_LIB_EXT="so"

case "${host}" in
arm*-*-linux*)
Expand Down Expand Up @@ -60,6 +61,7 @@ case "${host}" in
HOST_CXXFLAGS="-dynamiclib -single_module -undefined dynamic_lookup"
host_os_osx="yes"
ARCH_DEFINES="-DTARGET_POSIX -DTARGET_DARWIN -D_LINUX"
DYN_LIB_EXT="dylib"
;;
*-freebsd*)
OS="freebsd"
Expand All @@ -78,6 +80,7 @@ AC_SUBST(HOST_CXXFLAGS)
AC_SUBST(HOST_INCLUDES)
AC_SUBST(OS)
AC_SUBST(ARCH_DEFINES)
AC_SUBST(DYN_LIB_EXT)

if test "x$host_os_osx" = "xyes"; then
AM_CONDITIONAL(HOST_IS_OSX, true)
Expand Down
14 changes: 14 additions & 0 deletions scripts/dylib_fix_paths.sh
@@ -0,0 +1,14 @@
#!/bin/sh

EXTERNAL_LIBS=/Users/Shared/xbmc-depends
DYLIB_NAMEPATH=@executable_path/../Frameworks

This comment has been minimized.

Copy link
@garbear

garbear Jun 24, 2013

Contributor

should this be @executable_path@ like all the variables in XBMC's Makefile.in's?

This comment has been minimized.

Copy link
@opdenkamp

opdenkamp Jun 25, 2013

Owner

looks like a typo indeed. though i wonder why it works with this typo in. @davilla ?


# change the dylib path used for linking
install_name_tool -id "$(basename $1)" "$1"

# change the dylib paths used for depends loading
for a in $(otool -L "$1" | grep "$EXTERNAL_LIBS" | awk ' { print $1 } ') ; do
echo " Packaging $a"
install_name_tool -change "$a" "$DYLIB_NAMEPATH/$(basename $a)" "$1"
done

0 comments on commit 482888d

Please sign in to comment.