Skip to content
Browse files

Merge pull request #18 from davilla/master

some osx fixes.
  • Loading branch information...
2 parents 05e3c9a + ed99ba6 commit 94c9f6f9d33ad04ed6fea893f3ad4a59e44510e0 @opdenkamp committed Sep 5, 2012
Showing with 28 additions and 11 deletions.
  1. +1 −1 README
  2. +5 −7 addons/Makefile.include.am
  3. +3 −0 bootstrap
  4. +5 −3 configure.ac
  5. +14 −0 scripts/dylib_fix_paths.sh
View
2 README
@@ -5,7 +5,7 @@ WARNING: this is work in progress. Don't try to use this unless you know what yo
=============================
Start by executing:
-autoreconf -vif
+./bootstrap
To install add-ons into /path/to/XBMC:
./configure --prefix=/path/to/XBMC
View
12 addons/Makefile.include.am
@@ -15,18 +15,16 @@ if IS_INTREE_BUILD
endif
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@
View
3 bootstrap
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+autoreconf -vif
View
8 configure.ac
@@ -30,6 +30,7 @@ ARCHITECTURE="unknown"
HOST_INCLUDES=""
HOST_CXXFLAGS=""
ARCH_DEFINES="-DTARGET_POSIX -DTARGET_LINUX -D_LINUX"
+DYN_LIB_EXT="so"
case "${host}" in
arm*-*-linux*)
@@ -58,14 +59,14 @@ case "${host}" in
;;
*-apple-darwin*)
OS="darwin"
- HOST_INCLUDES="-I/opt/local/include"
HOST_CXXFLAGS="-dynamiclib -single_module -undefined dynamic_lookup"
host_os_osx="yes"
- ARCH_DEFINES="-DTARGET_POSIX -DTARGET_DARWIN"
+ ARCH_DEFINES="-DTARGET_POSIX -DTARGET_DARWIN -D_LINUX"
+ DYN_LIB_EXT="dylib"
;;
*-freebsd*)
OS="freebsd"
- ARCH_DEFINES="-DTARGET_POSIX -DTARGET_FREEBSD"
+ ARCH_DEFINES="-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX"
;;
esac
@@ -88,6 +89,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)
View
14 scripts/dylib_fix_paths.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+EXTERNAL_LIBS=/Users/Shared/xbmc-depends
+DYLIB_NAMEPATH=@executable_path/../Frameworks
+
+# 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 94c9f6f

Please sign in to comment.
Something went wrong with that request. Please try again.