vlc | branch: master | David Fuhrmann <[email protected]> | Mon Jun 15 19:36:27 2015 +0200| [021f50d9b56504d76de32646c15804017cf7eacf] | committer: David Fuhrmann
darwinvlc: compile with objc and fix build system As we do not want to break other os versions, the only way to select the proper linker is to use another target for osx. Still, "make install" should produce a binary named "vlc" in the end, thus the binary is renamed at install stage. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=021f50d9b56504d76de32646c15804017cf7eacf --- bin/Makefile.am | 19 ++++++++++++++----- bin/{darwinvlc.c => darwinvlc.m} | 0 extras/package/macosx/build-package.sh | 4 ++-- extras/package/macosx/package.mak | 2 +- extras/package/macosx/vlc.xcodeproj/project.pbxproj | 6 ++++-- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/bin/Makefile.am b/bin/Makefile.am index 02e77ff..992ca2c 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am @@ -1,7 +1,11 @@ # Building vlc # +if HAVE_DARWIN +bin_PROGRAMS = vlc-osx +else bin_PROGRAMS = vlc noinst_PROGRAMS = vlc-static +endif noinst_DATA = vlclib_PROGRAMS = vlc-cache-gen EXTRA_PROGRAMS = vlc-wrapper @@ -22,22 +26,21 @@ endif vlc_SOURCES = vlc.c override.c endif -EXTRA_vlc_SOURCES = vlc.c winvlc.c darwinvlc.c +EXTRA_vlc_SOURCES = vlc.c winvlc.c if HAVE_WIN32 vlc_SOURCES = winvlc.c noinst_DATA += vlc_win32_rc.rc endif if HAVE_DARWIN -vlc_SOURCES = darwinvlc.c override.c +vlc_osx_SOURCES = darwinvlc.m override.c +vlc_osx_LDFLAGS = $(LDFLAGS_vlc) -Wl,-framework,CoreFoundation,-framework,Cocoa +vlc_osx_LDADD = ../lib/libvlc.la endif vlc_wrapper_SOURCES = rootwrap.c vlc_wrapper_LDADD = $(SOCKET_LIBS) vlc_LDFLAGS = $(LDFLAGS_vlc) -if HAVE_DARWIN -vlc_LDFLAGS += -Wl,-framework,CoreFoundation -endif vlc_LDADD = ../lib/libvlc.la $(LIBPTHREAD) vlc_static_SOURCES = $(vlc_SOURCES) @@ -80,6 +83,12 @@ endif noinst_DATA += ../modules/plugins.dat MOSTLYCLEANFILES = $(noinst_DATA) +if HAVE_DARWIN +install-data-local: + cd $(bindir); mv vlc-osx vlc + +endif + .PHONY: ../modules/plugins.dat ../modules/plugins.dat: vlc-cache-gen$(EXEEXT) diff --git a/bin/darwinvlc.c b/bin/darwinvlc.m similarity index 100% rename from bin/darwinvlc.c rename to bin/darwinvlc.m diff --git a/extras/package/macosx/build-package.sh b/extras/package/macosx/build-package.sh index fe4a52a..446f1da 100644 --- a/extras/package/macosx/build-package.sh +++ b/extras/package/macosx/build-package.sh @@ -228,8 +228,8 @@ fi ########################## # Hack for VLC.app if [ "$FULL_PRODUCT_NAME" = "VLC.app" ] ; then - vlc_install "bin/${prefix}" "vlc" "${target}" "bin" "@loader_path/lib" - mv ${target}/vlc ${target}/VLC + vlc_install "bin/${prefix}" "vlc-osx" "${target}" "bin" "@loader_path/lib" + mv "${target}/vlc-osx" "${target}/VLC" chmod +x ${target}/VLC else vlc_install "bin/${prefix}" "vlc" "${target}/bin" "bin" "@loader_path/../lib" diff --git a/extras/package/macosx/package.mak b/extras/package/macosx/package.mak index f709d81..ea16038 100644 --- a/extras/package/macosx/package.mak +++ b/extras/package/macosx/package.mak @@ -10,7 +10,7 @@ endif VLC-dev.app: VLC-tmp rm -Rf $@ cp -R VLC-tmp $@ - $(INSTALL) -m 0755 $(top_builddir)/bin/.libs/vlc $@/Contents/MacOS/VLC + $(INSTALL) -m 0755 $(top_builddir)/bin/.libs/vlc-osx $@/Contents/MacOS/VLC $(LN_S) -f ../../../modules $@/Contents/MacOS/plugins # VLC.app for packaging and giving it to your friends diff --git a/extras/package/macosx/vlc.xcodeproj/project.pbxproj b/extras/package/macosx/vlc.xcodeproj/project.pbxproj index 848c7d3..18cf45c 100644 --- a/extras/package/macosx/vlc.xcodeproj/project.pbxproj +++ b/extras/package/macosx/vlc.xcodeproj/project.pbxproj @@ -358,6 +358,7 @@ 1C88BCC219DC7CB300645190 /* ys-fs_volume_slider_knob_highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C88BC8C19DC7CB300645190 /* ys-fs_volume_slider_knob_highlight.png */; }; 1C88BCC319DC7CB300645190 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 1C88BC8D19DC7CB300645190 /* [email protected] */; }; 1CBB2CC81B06A6DE00110ADA /* Help.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1CBB2CC61B06A6DE00110ADA /* Help.xib */; }; + 1CC25CA81B2C585D0003F994 /* darwinvlc.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CC25CA71B2C585D0003F994 /* darwinvlc.m */; }; 1CCB5F511A62A724004C3E90 /* about.h in Sources */ = {isa = PBXBuildFile; fileRef = 8EE1AF9F044465080059A3A7 /* about.h */; }; 1CCB5F521A62A724004C3E90 /* about.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EE1AFA0044465080059A3A7 /* about.m */; }; 1CCB5F531A62A724004C3E90 /* AddonListDataSource.h in Sources */ = {isa = PBXBuildFile; fileRef = 7DF0435E1972E26A0022B534 /* AddonListDataSource.h */; }; @@ -1231,6 +1232,7 @@ 1C88BC8C19DC7CB300645190 /* ys-fs_volume_slider_knob_highlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ys-fs_volume_slider_knob_highlight.png"; sourceTree = "<group>"; }; 1C88BC8D19DC7CB300645190 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; }; 1CBB2CC71B06A6DE00110ADA /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/Help.xib; sourceTree = "<group>"; }; + 1CC25CA71B2C585D0003F994 /* darwinvlc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = darwinvlc.m; path = ../../../bin/darwinvlc.m; sourceTree = "<group>"; }; 1CCB5F2F1A62A6A5004C3E90 /* pseudo-vlc.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "pseudo-vlc.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 1CE5ED1B19DD6AB700FCEFD3 /* lion-window-fullscreen-on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "lion-window-fullscreen-on.png"; sourceTree = "<group>"; }; 1CE5ED1C19DD6AB700FCEFD3 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; }; @@ -1251,7 +1253,6 @@ 7D3F652718805297005776C4 /* BWQuincyManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = BWQuincyManager.m; path = ../../../modules/gui/macosx/BWQuincyManager.m; sourceTree = SOURCE_ROOT; }; 7D3F652818805297005776C4 /* BWQuincyUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BWQuincyUI.h; path = ../../../modules/gui/macosx/BWQuincyUI.h; sourceTree = SOURCE_ROOT; }; 7D3F652918805297005776C4 /* BWQuincyUI.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = BWQuincyUI.m; path = ../../../modules/gui/macosx/BWQuincyUI.m; sourceTree = SOURCE_ROOT; }; - 7D7DC2CA182E86D9008C9E3E /* darwinvlc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = darwinvlc.c; path = ../../../bin/darwinvlc.c; sourceTree = "<group>"; }; 7D8BB0B318302AC000FAE9B7 /* DebugMessageVisualizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DebugMessageVisualizer.h; path = ../../../modules/gui/macosx/DebugMessageVisualizer.h; sourceTree = SOURCE_ROOT; }; 7D8BB0B418302AC000FAE9B7 /* DebugMessageVisualizer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = DebugMessageVisualizer.m; path = ../../../modules/gui/macosx/DebugMessageVisualizer.m; sourceTree = SOURCE_ROOT; }; 7D8BB0B61830311300FAE9B7 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = Resources/English.lproj/DebugMessageVisualizer.xib; sourceTree = "<group>"; }; @@ -2877,7 +2878,7 @@ CCDDF1AF172FF4D6007729A1 /* core */ = { isa = PBXGroup; children = ( - 7D7DC2CA182E86D9008C9E3E /* darwinvlc.c */, + 1CC25CA71B2C585D0003F994 /* darwinvlc.m */, CC4D67F71348F601003FCC5B /* specific.c */, CCDDF1AC172FF4C4007729A1 /* netconf.c */, CCDDF1AD172FF4C4007729A1 /* dirs.c */, @@ -3931,6 +3932,7 @@ 1CCB5F791A62A724004C3E90 /* open.h in Sources */, 1CCB5F7A1A62A724004C3E90 /* open.m in Sources */, 1CCB5F7B1A62A724004C3E90 /* output.h in Sources */, + 1CC25CA81B2C585D0003F994 /* darwinvlc.m in Sources */, 1CCB5F7C1A62A724004C3E90 /* output.m in Sources */, 1CCB5F7D1A62A724004C3E90 /* playlist.h in Sources */, 1CCB5F7E1A62A724004C3E90 /* playlist.m in Sources */, _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
