Commit c13f9fc9 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Fix libtool and shared builds

parent 5af47d3b
...@@ -9,10 +9,9 @@ SUBDIRS = ...@@ -9,10 +9,9 @@ SUBDIRS =
EXTRA_DIST = extras/COPYING misc/modules_builtin.h.in EXTRA_DIST = extras/COPYING misc/modules_builtin.h.in
BUILT_SOURCES = $(DISTCLEANFILES) $(CLEANFILES) BUILT_SOURCES = $(CLEANFILES)
DISTCLEANFILES = stamp-api
CLEANFILES = misc/modules_builtin.h CLEANFILES = misc/modules_builtin.h
MOSTLYCLEANFILES = $(DATA_noinst_libvlc) stamp-builtins MOSTLYCLEANFILES = $(DATA_noinst_libvlc)
TOOLBOX = srcdir=$(top_srcdir) builddir=$(top_builddir) $(top_srcdir)/toolbox TOOLBOX = srcdir=$(top_srcdir) builddir=$(top_builddir) $(top_srcdir)/toolbox
...@@ -96,28 +95,6 @@ misc/modules_builtin.h: misc/modules_builtin.h.in ...@@ -96,28 +95,6 @@ misc/modules_builtin.h: misc/modules_builtin.h.in
misc/modules.c: misc/modules_builtin.h misc/modules.c: misc/modules_builtin.h
###############################################################################
# Building builtin modules
###############################################################################
#
# As long as we use builtins with a shared libvlc, we must build them before
# we build libvlc. Maybe one day, libvlc will handle multiple modules per
# shared object, which will make builtins fairly redumdant. Until then, we
# need this workaround.
if BUILD_SHARED
stamp-builtins: Makefile ../vlc-config ../config.status
@for c in `$(VLC_CONFIG) --libs builtin`; do \
case $$c in \
../modules/*.a) echo $$c ;; \
esac ; \
done | \
sed -e 's,^\(.*\)/\([^/]*\)\.a$$,cd \1 \&\& $(MAKE) \2,g' | \
while read cmd; do echo $$cmd.a; eval "($$cmd.a)" || exit $$? ; done
touch $@
endif
############################################################################### ###############################################################################
# Building libvlc # Building libvlc
############################################################################### ###############################################################################
...@@ -134,7 +111,7 @@ libvlc_la_CFLAGS = `$(VLC_CONFIG) --cflags libvlc` ...@@ -134,7 +111,7 @@ libvlc_la_CFLAGS = `$(VLC_CONFIG) --cflags libvlc`
libvlc_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags libvlc` libvlc_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags libvlc`
libvlc_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags libvlc` libvlc_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags libvlc`
libvlc_la_LDFLAGS = `$(VLC_CONFIG) --libs libvlc` \ libvlc_la_LDFLAGS = `$(VLC_CONFIG) --libs libvlc` \
-no-undefined -export-symbols libvlc.sym -version-info 1:0:0 -no-undefined -export-symbols $(srcdir)/libvlc.sym -version-info 1:0:0
libvlc_la_DEPENDENCIES = libvlc.sym libvlc_la_DEPENDENCIES = libvlc.sym
libvlc_control_la_SOURCES = $(SOURCES_libvlc_control) libvlc_control_la_SOURCES = $(SOURCES_libvlc_control)
...@@ -184,9 +161,9 @@ endif ...@@ -184,9 +161,9 @@ endif
libvlc.dll.a: libvlc$(LIBEXT) libvlc.dll.a: libvlc$(LIBEXT)
$(DLLTOOL) --export-all-symbols -l $@ -D $< $(libvlc_a_OBJECTS) $(DLLTOOL) --export-all-symbols -l $@ -D $< $(libvlc_a_OBJECTS)
libvlc$(LIBEXT): $(OBJECTS_libvlc_so) stamp-builtins libvlc$(LIBEXT): $(OBJECTS_libvlc_so)
@ldfl="`$(VLC_CONFIG) --libs plugin vlc builtin pic` $(INCLUDED_LIBINTL)" ; \ @ldfl="`$(VLC_CONFIG) --libs plugin vlc pic` $(INCLUDED_LIBINTL)" ; \
case `$(VLC_CONFIG) --linkage vlc builtin` in \ case `$(VLC_CONFIG) --linkage vlc` in \
c++) ld="$(CXXLINK)" ;; \ c++) ld="$(CXXLINK)" ;; \
objc) ld="$(OBJCLINK)" ;; \ objc) ld="$(OBJCLINK)" ;; \
c|*) ld="$(LINK)" ;; \ c|*) ld="$(LINK)" ;; \
...@@ -372,11 +349,18 @@ misc/version.c: FORCE ...@@ -372,11 +349,18 @@ misc/version.c: FORCE
############################################################################### ###############################################################################
# Stamp rules # Stamp rules
############################################################################### ###############################################################################
if !USE_LIBTOOL
if !BUILD_SHARED
stamp-api: Makefile.in $(HEADERS_include) ../vlc-api.pl stamp-api: Makefile.in $(HEADERS_include) ../vlc-api.pl
( cd $(srcdir) && cat $(HEADERS_include) ) | \ ( cd $(srcdir) && cat $(HEADERS_include) ) | \
top_srcdir="$(top_srcdir)" perl $(top_srcdir)/vlc-api.pl top_srcdir="$(top_srcdir)" perl $(top_srcdir)/vlc-api.pl
touch stamp-api touch stamp-api
CLEANFILES += stamp-api
endif
endif
############################################################################### ###############################################################################
# Unit/regression test # Unit/regression test
############################################################################### ###############################################################################
......
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