mirror of
https://github.com/videolan/vlc.git
synced 2024-11-24 18:33:38 +08:00
- Build builtins before shared libvlc
- Link builtins with libvlc instead of vlc (seems to fix shared libvlc on Win32)
This commit is contained in:
parent
bf9be9ebf0
commit
5f27fad54e
@ -225,7 +225,7 @@ else
|
||||
LIB_libvlc = src/libvlc.a
|
||||
endif
|
||||
|
||||
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin` $(vlc_WORKAROUNDLDFLAGS)
|
||||
vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc` $(vlc_WORKAROUNDLDFLAGS)
|
||||
vlc_LDADD = $(LIB_libvlc) $(DATA_win32_rc) $(INCLUDED_LIBINTL)
|
||||
vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc`
|
||||
|
||||
@ -235,7 +235,7 @@ DEPENDENCIES_vlc = $(LIB_libvlc) $(DATA_win32_rc)
|
||||
|
||||
vlc$(EXEEXT): $(vlc_OBJECTS) $(DEPENDENCIES_vlc) stamp-builtin
|
||||
@rm -f vlc$(EXEEXT)
|
||||
@case `$(VLC_CONFIG) --linkage vlc builtin` in \
|
||||
@case `$(VLC_CONFIG) --linkage vlc` in \
|
||||
c++) cmd="$(CXXLINK)" ;; \
|
||||
objc) cmd="$(OBJCLINK)" ;; \
|
||||
c|*) cmd="$(LINK)" ;; \
|
||||
|
@ -110,6 +110,29 @@ misc/modules.c: misc/modules_builtin.h
|
||||
misc/version.c: FORCE
|
||||
$(TOOLBOX) --update-version
|
||||
|
||||
###############################################################################
|
||||
# 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.
|
||||
|
||||
builtins:
|
||||
if BUILD_SHARED
|
||||
@if test "$(pic)" = "pic"; then ext="_pic.a"; else ext=".a"; fi ; \
|
||||
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$$ext; eval "($$cmd$$ext)" || exit $$? ; done
|
||||
endif
|
||||
|
||||
.PHONY: builtins
|
||||
|
||||
###############################################################################
|
||||
# Building libvlc
|
||||
###############################################################################
|
||||
@ -168,9 +191,9 @@ OBJECTS_libvlc_so = $(libvlc_pic_a_OBJECTS)
|
||||
endif
|
||||
endif
|
||||
|
||||
libvlc$(LIBEXT): $(OBJECTS_libvlc_so)
|
||||
@ldfl="`$(VLC_CONFIG) --libs plugin vlc $(pic)` $(INCLUDED_LIBINTL)" ; \
|
||||
case `$(VLC_CONFIG) --linkage vlc` in \
|
||||
libvlc$(LIBEXT): $(OBJECTS_libvlc_so) builtins
|
||||
@ldfl="`$(VLC_CONFIG) --libs plugin vlc builtin $(pic)` $(INCLUDED_LIBINTL)" ; \
|
||||
case `$(VLC_CONFIG) --linkage vlc builtin` in \
|
||||
c++) ld="$(CXXLINK)" ;; \
|
||||
objc) ld="$(OBJCLINK)" ;; \
|
||||
c|*) ld="$(LINK)" ;; \
|
||||
|
Loading…
Reference in New Issue
Block a user