Commit 021f50d9 authored by David Fuhrmann's avatar 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.
parent 0a59bb70
# 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)
......
......@@ -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"
......
......@@ -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
......
......@@ -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 /* ys-fs_volume_slider_knob_highlight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C88BC8D19DC7CB300645190 /* ys-fs_volume_slider_knob_highlight@2x.png */; };
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 /* ys-fs_volume_slider_knob_highlight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ys-fs_volume_slider_knob_highlight@2x.png"; 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 /* lion-window-fullscreen-on@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "lion-window-fullscreen-on@2x.png"; 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 */,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment