X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile.am;h=38fd1faf533abe93ae53ebf89870b68d7296a2d8;hb=24c07775c117d707f3c4d394500edfeedb7a1045;hp=b2298611ede582f6b12260a29f18f20ef80d20d8;hpb=37718fcc4db4c9ee78d726bc2e6cffdc75dfd526;p=vlc diff --git a/Makefile.am b/Makefile.am index b2298611ed..38fd1faf53 100644 --- a/Makefile.am +++ b/Makefile.am @@ -11,7 +11,8 @@ NULL = # - modules should come before . because vlc needs the builtins # - . should come before mozilla because the plugin needs libvlc_pic.a # - po should come before . because VLC.app needs the pofiles -SUBDIRS = intl modules po . mozilla activex share m4 doc +# - loader should come before modules because some plugins need it +SUBDIRS = intl loader modules po . mozilla activex share m4 doc DIST_SUBDIRS = $(SUBDIRS) src debian ipkg lib EXTRA_DIST = \ @@ -23,8 +24,8 @@ EXTRA_DIST = \ bootstrap \ src/extras/COPYING \ toolbox \ + vlc-api.pl \ vlc-config.in.in \ - vlc.ebuild \ vlc.spec \ vlc.spec.mdk \ vlc.win32.nsi \ @@ -45,9 +46,8 @@ AUTOMAKE_OPTIONS = dist-bzip2 subdir-objects ############################################################################### BUILT_SOURCES += \ - include/vlc_symbols.h \ + stamp-api \ src/misc/modules_builtin.h \ - src/misc/modules_plugin.h \ $(NULL) pkgincludedir = $(includedir)/vlc @@ -60,9 +60,10 @@ dist_pkginclude_HEADERS = \ include/vlc/decoder.h \ include/vlc/input.h \ include/vlc/intf.h \ + include/vlc/control.h \ $(NULL) -noinst_HEADERS = $(HEADERS_include) $(HEADERS_include_built) +noinst_HEADERS = $(HEADERS_include) HEADERS_include = \ include/aout_internal.h \ @@ -102,6 +103,7 @@ HEADERS_include = \ include/vlc_config_cat.h \ include/vlc_httpd.h \ include/vlc_tls.h \ + include/vlc_md5.h \ include/vlc_image.h \ include/vlc_input.h \ include/vlc_interface.h \ @@ -112,6 +114,7 @@ HEADERS_include = \ include/vlc_playlist.h \ include/vlc_spu.h \ include/vlc_stream.h \ + include/vlc_symbols.h \ include/vlc_threads_funcs.h \ include/vlc_threads.h \ include/vlc_video.h \ @@ -122,22 +125,12 @@ HEADERS_include = \ include/win32_specific.h \ $(NULL) -HEADERS_include_built = \ - include/vlc_symbols.h \ - $(NULL) - -include/vlc_symbols.h: Makefile $(HEADERS_include) - srcdir=$(srcdir) $(srcdir)/toolbox --update-includes - -src/misc/modules_plugin.h: Makefile src/misc/modules_plugin.h.in $(HEADERS_include) - srcdir=$(srcdir) $(srcdir)/toolbox --update-includes - -src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in +src/misc/modules_builtin.h: Makefile src/misc/modules_builtin.h.in vlc-config srcdir=$(srcdir) $(srcdir)/toolbox --update-includes + touch $@ # These dependencies are mandatory -$(SOURCES): include/vlc_symbols.h -$(SOURCES_libvlc): src/misc/modules_plugin.h src/misc/modules_builtin.h $(LIB_intl) +$(SOURCES_libvlc): src/misc/modules_builtin.h $(LIB_intl) ############################################################################### # Optional libintl - FIXME, bad dependencies @@ -167,8 +160,10 @@ EXTRA_DIST += \ extras/MacOSX/Resources/English.lproj/Preferences.nib/classes.nib \ extras/MacOSX/Resources/English.lproj/Preferences.nib/info.nib \ extras/MacOSX/Resources/English.lproj/Preferences.nib/keyedobjects.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/classes.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/info.nib \ + extras/MacOSX/Resources/English.lproj/Wizard.nib/keyedobjects.nib \ extras/MacOSX/Resources/English.lproj/InfoPlist.strings \ - extras/MacOSX/Resources/English.lproj/vlc.scriptTerminology \ extras/MacOSX/Resources/a52.icns \ extras/MacOSX/Resources/aac.icns \ extras/MacOSX/Resources/asf.icns \ @@ -228,6 +223,7 @@ EXTRA_DIST += \ extras/MacOSX/Resources/volumetrack.png \ extras/MacOSX/Resources/about_bg.png \ extras/MacOSX/Resources/vlc.scriptSuite \ + extras/MacOSX/Resources/vlc.scriptTerminology \ extras/MacOSX/Resources/README \ extras/MacOSX/vlc.pbproj/project.pbxproj \ extras/MacOSX/macosx-dmg \ @@ -254,7 +250,6 @@ EXTRA_DIST += \ $(NULL) dist-hook: - cp $(distdir)/vlc.ebuild $(distdir)/vlc-${VERSION}.ebuild cd $(distdir) && srcdir=$(srcdir) $(srcdir)/toolbox --update-vc distdir=$(distdir) srcdir=$(srcdir) $(srcdir)/toolbox --dist-contrib @@ -263,15 +258,17 @@ dist-hook: ############################################################################### bin_SCRIPTS = vlc-config -CLEANFILES = $(bin_SCRIPTS) vlc-config: $(top_builddir)/config.status $(top_builddir)/vlc-config.in cd $(top_builddir) && $(SHELL) ./config.status --file=$@ -cd $(top_builddir) && chmod 0755 $@ +$(SOURCES): vlc-config + +CLEANFILES = $(BUILT_SOURCES) + lib_LIBRARIES = lib/libvlc.a $(LIBRARIES_libvlc_pic) lib_libvlc_a_SOURCES = $(SOURCES_libvlc) -dist_lib_libvlc_a_SOURCES = src/misc/modules_plugin.h lib_libvlc_a_CFLAGS = `$(VLC_CONFIG) --cflags vlc` lib_libvlc_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags vlc` lib_libvlc_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags vlc` @@ -327,7 +324,6 @@ SOURCES_libvlc_win32 = \ SOURCES_libvlc_dirent = \ src/extras/dirent.c \ - src/extras/dirent.h \ $(NULL) SOURCES_libvlc_getopt = \ @@ -381,6 +377,7 @@ SOURCES_libvlc_common = \ src/misc/charset.c \ src/misc/httpd.c \ src/misc/tls.c \ + src/misc/md5.c \ src/misc/mtime.c \ src/misc/block.c \ src/misc/modules.c \ @@ -395,9 +392,13 @@ SOURCES_libvlc_common = \ src/misc/variables.c \ src/misc/error.c \ src/misc/net.c \ + src/misc/getaddrinfo.c \ src/misc/vlm.c \ src/misc/xml.c \ src/extras/libc.c \ + src/control/core.c \ + src/control/util.c \ + src/control/audio_video.c \ $(NULL) SOURCES_libvlc = \ @@ -417,7 +418,12 @@ bin_PROGRAMS = vlc vlc_SOURCES = src/vlc.c -vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin` +# Work around a bug in the arm-wince-pe linker +if HAVE_WINCE +vlc_WORKAROUNDLDFLAGS = lib/libvlc.a +endif + +vlc_LDFLAGS = `$(VLC_CONFIG) --libs vlc builtin` $(vlc_WORKAROUNDLDFLAGS) vlc_LDADD = lib/libvlc.a $(DATA_win32_rc) $(LIB_intl) vlc_CFLAGS = `$(VLC_CONFIG) --cflags vlc` @@ -480,10 +486,130 @@ endif ln -s vlc "$(DESTDIR)$(bindir)/$$i" ; \ fi ; done +# the opposite of install-{data,exec}-local +uninstall-local: + @for i in "" `$(VLC_CONFIG) --target plugin` ; do if test -n "$$i" ; then \ + echo rm -f "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`/$$(basename $$i$(LIBEXT))" ; \ + rm -f "$(DESTDIR)$(libdir)/vlc/`echo $$i | sed -e 's,.*modules/\([^/]*\).*,\1,'`/$$(basename $$i$(LIBEXT))" ; \ + fi ; done + @for i in "" `$(VLC_CONFIG) --target builtin` ; do if test -n "$$i" ; then \ + echo rm -f "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \ + rm -f "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \ + fi ; done +if BUILD_MOZILLA + @for i in "" `$(VLC_CONFIG) --target builtin pic` ; do if test -n "$$i" ; then \ + echo rm -f "$$i" "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \ + rm -f "$$i" "$(DESTDIR)$(libdir)/vlc/$$(basename $$i)" ; \ + fi ; done +endif + for i in "" $(ALIASES) ; do if test -n "$$i" ; then \ + rm -f "$(DESTDIR)$(bindir)/$$i" ; \ + fi ; done + if HAVE_DARWIN # Create the MacOS X app vlc_app_DATA = VLC.app vlc_appdir = $(bindir) +# VLC-release.app is the old VLC.app target +VLC-release.app: vlc + @if test -e "$(top_builddir)/tmp"; then \ + echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \ + false; \ + else \ + echo "OK."; mkdir -p "$(top_builddir)/tmp/extras"; \ + fi + rm -Rf $(top_builddir)/VLC-release.app + cp -r $(srcdir)/extras/MacOSX $(top_builddir)/tmp/extras + for i in AUTHORS COPYING README.MacOSX.rtf THANKS; do \ + cp "$(srcdir)/$$i" $(top_builddir)/tmp; \ + done + mkdir -p $(top_builddir)/tmp/modules/audio_output + cp $(srcdir)/modules/audio_output/coreaudio.c \ + $(top_builddir)/tmp/modules/audio_output/coreaudio.c + mkdir -p $(top_builddir)/tmp/modules/gui/macosx + for i in \ + about.h \ + about.m \ + applescript.h \ + applescript.m \ + controls.h \ + controls.m \ + equalizer.h \ + equalizer.m \ + intf.h \ + intf.m \ + macosx.m \ + misc.h \ + misc.m \ + open.h \ + open.m \ + output.h \ + output.m \ + playlist.h \ + playlist.m \ + playlistinfo.h \ + playlistinfo.m \ + prefs_widgets.h \ + prefs_widgets.m \ + prefs.h \ + prefs.m \ + vout.h \ + voutqt.m \ + voutgl.m \ + wizard.h \ + wizard.m \ + vout.m; do \ + cp "$(srcdir)/modules/gui/macosx/$$i" \ + $(top_builddir)/tmp/modules/gui/macosx; \ + done + cd $(top_builddir)/tmp/extras/MacOSX && xcodebuild -target vlc | grep -v '^\([ \t]\|$$\)' + cp -r $(top_builddir)/tmp/extras/MacOSX/build/VLC.bundle \ + $(top_builddir)/VLC-release.app + rm -Rf $(top_builddir)/tmp + $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS + $(INSTALL) $(top_builddir)/vlc \ + $(top_builddir)/VLC-release.app/Contents/MacOS/VLC + ln -sf ./VLC $(top_builddir)/VLC-release.app/Contents/MacOS/clivlc + $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/modules + for i in "" `$(VLC_CONFIG) --target plugin` ; do \ + if test -n "$$i" ; \ + then $(INSTALL) "$$i$(LIBEXT)" \ + "$(top_builddir)/VLC-release.app/Contents/MacOS/modules" ; \ + fi ; done + if test -d $(top_builddir)/extras/contrib/vlc-lib; then \ + mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/lib ; \ + for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \ + $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \ + done ; \ + fi + $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share + $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http + for i in $(srcdir)/share/http/* ; do \ + $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/`basename $${i}` ; \ + done ; \ + $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/vlm + for i in $(srcdir)/share/http/vlm/* ; do \ + $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/vlm/`basename $${i}` ; \ + done ; \ + $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin + for i in $(srcdir)/share/http/admin/* ; do \ + $(INSTALL) -m 644 $${i} $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin/`basename $${i}` ; \ + done ; \ + $(INSTALL) -m 644 $(srcdir)/share/http/admin/.access $(top_builddir)/VLC-release.app/Contents/MacOS/share/http/admin/.access + $(INSTALL) -d $(top_builddir)/VLC-release.app/Contents/MacOS/locale + for i in $(ALL_LINGUAS); do \ + mkdir -p $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \ + cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC-release.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \ + mkdir -p $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \ + ln -sf ../English.lproj/InfoPlist.strings \ + $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \ + ln -sf ../English.lproj/MainMenu.nib \ + $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \ + ln -sf ../English.lproj/vlc.scriptTerminology \ + $(top_builddir)/VLC-release.app/Contents/Resources/$${i}.lproj ; \ + done + printf "APPLVLC#" >| $(top_builddir)/VLC-release.app/Contents/PkgInfo + VLC.app: vlc @if test -e "$(top_builddir)/tmp"; then \ echo "Error: please remove $(top_builddir)/tmp, it is in the way"; \ @@ -529,6 +655,8 @@ VLC.app: vlc vout.h \ voutqt.m \ voutgl.m \ + wizard.h \ + wizard.m \ vout.m; do \ cp "$(srcdir)/modules/gui/macosx/$$i" \ $(top_builddir)/tmp/modules/gui/macosx; \ @@ -544,40 +672,25 @@ VLC.app: vlc $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/modules for i in "" `$(VLC_CONFIG) --target plugin` ; do \ if test -n "$$i" ; \ - then $(INSTALL) "$$i$(LIBEXT)" \ + then ln -sfn "`pwd`/$$i$(LIBEXT)" \ "$(top_builddir)/VLC.app/Contents/MacOS/modules" ; \ fi ; done if test -d $(top_builddir)/extras/contrib/vlc-lib; then \ mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/lib ; \ for i in $(top_builddir)/extras/contrib/vlc-lib/*.dylib ; do \ - $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \ + ln -sfn `pwd`/$${i} $(top_builddir)/VLC.app/Contents/MacOS/lib/vlc_`basename $${i}` ; \ done ; \ fi - $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share - $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http - for i in $(srcdir)/share/http/* ; do \ - $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/`basename $${i}` ; \ - done ; \ - $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm - for i in $(srcdir)/share/http/vlm/* ; do \ - $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/vlm/`basename $${i}` ; \ - done ; \ - $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin - for i in $(srcdir)/share/http/admin/* ; do \ - $(INSTALL) -m 644 $${i} $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin/`basename $${i}` ; \ - done ; \ - $(INSTALL) -m 644 $(srcdir)/share/http/admin/.access $(top_builddir)/VLC.app/Contents/MacOS/share/http/admin/.access + ln -sfn `pwd`/share $(top_builddir)/VLC.app/Contents/MacOS/ $(INSTALL) -d $(top_builddir)/VLC.app/Contents/MacOS/locale for i in $(ALL_LINGUAS); do \ mkdir -p $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES ; \ - cp $(srcdir)/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \ + ln -sfn `pwd`/po/$${i}.gmo $(top_builddir)/VLC.app/Contents/MacOS/locale/$${i}/LC_MESSAGES/vlc.mo || true ; \ mkdir -p $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \ ln -sf ../English.lproj/InfoPlist.strings \ $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \ ln -sf ../English.lproj/MainMenu.nib \ $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \ - ln -sf ../English.lproj/vlc.scriptTerminology \ - $(top_builddir)/VLC.app/Contents/Resources/$${i}.lproj ; \ done printf "APPLVLC#" >| $(top_builddir)/VLC.app/Contents/PkgInfo endif @@ -663,15 +776,24 @@ package-win32-base: mkdir -p "$(top_builddir)/vlc-${VERSION}/http/admin" mkdir -p "$(top_builddir)/vlc-${VERSION}/http/vlm" cp $(srcdir)/share/http/*.html $(top_builddir)/vlc-${VERSION}/http/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/*.html ; cp $(srcdir)/share/http/*.css $(top_builddir)/vlc-${VERSION}/http/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/*.css ; + cp $(srcdir)/share/http/*.png $(top_builddir)/vlc-${VERSION}/http/ + cp $(srcdir)/share/http/*.ico $(top_builddir)/vlc-${VERSION}/http/ ; cp $(srcdir)/share/http/admin/*.html \ $(top_builddir)/vlc-${VERSION}/http/admin/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/*.html ; + cp $(srcdir)/share/http/admin/dboxfiles.html \ + $(top_builddir)/vlc-${VERSION}/http/admin/ ; cp $(srcdir)/share/http/admin/.access \ $(top_builddir)/vlc-${VERSION}/http/admin/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/admin/.access ; cp $(srcdir)/share/http/vlm/*.html \ $(top_builddir)/vlc-${VERSION}/http/vlm/ ; + unix2dos $(top_builddir)/vlc-${VERSION}/http/vlm/*.html ; - cp $(srcdir)/share/vlc48x48.ico $(top_builddir)/vlc-${VERSION}/ ; + cp $(srcdir)/share/vlc48x48new.ico $(top_builddir)/vlc-${VERSION}/ ; mkdir -p "$(top_builddir)/vlc-${VERSION}/mozilla" if BUILD_MOZILLA @@ -682,18 +804,21 @@ endif mkdir -p "$(top_builddir)/vlc-${VERSION}/activex" if BUILD_ACTIVEX - cp $(top_builddir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ; - cp $(top_builddir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ; + cp $(srcdir)/activex/README.TXT $(top_builddir)/vlc-${VERSION}/activex/ ; + cp $(srcdir)/activex/test.html $(top_builddir)/vlc-${VERSION}/activex/ ; unix2dos $(top_builddir)/vlc-${VERSION}/activex/* ; cp $(top_builddir)/activex/*$(LIBEXT) $(top_builddir)/vlc-${VERSION}/activex/ ; - cp $(top_builddir)/activex/*.reg $(top_builddir)/vlc-${VERSION}/activex/ ; $(STRIP) $(top_builddir)/vlc-${VERSION}/activex/*$(LIBEXT); endif +# Rebase all those DLLs to speed up loading (need cygwin rebase) + if [ -x rebase ]; then \ + find $(top_builddir)/vlc-${VERSION} -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \ + fi package-win32-base-exe: # Create package - wine ~/.wine/fake_windows/Program\ Files/NSIS/makensis.exe \ + wine C:/Program\ Files/NSIS/makensis.exe \ /DVERSION=${VERSION} $(top_builddir)/vlc-${VERSION}/vlc.win32.nsi package-win32-base-exe-cygwin: @@ -748,8 +873,8 @@ package-beos: mv $(srcdir)/tmp/vlc-${VERSION} $(srcdir)/tmp/vlc ; # Create normal package - strip --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ; - find $(srcdir)/tmp/vlc -name 'lib*.so' -exec strip \ + $(STRIP) --strip-debug --strip-unneeded $(srcdir)/tmp/vlc/vlc ; + find $(srcdir)/tmp/vlc -name 'lib*.so' -exec $(STRIP) \ --strip-debug --strip-unneeded "{}" \; ; xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc ; find $(srcdir)/tmp/vlc -exec mimeset -f {} \; ; @@ -770,7 +895,7 @@ package-macosx: fi # Copy relevant files - cp -R "$(top_builddir)/VLC.app" "$(top_builddir)/tmp/" + cp -R "$(top_builddir)/VLC-release.app" "$(top_builddir)/tmp/VLC.app" cd "$(srcdir)" && cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf THANKS NEWS $(top_builddir)/tmp/ # Create disk image @@ -812,7 +937,7 @@ package-translations: ############################################################################### clean: clean-stamp clean-recursive clean-stamp: - rm -f stamp-builtin + rm -f stamp-builtin stamp-api stamp-builtin: FORCE @for dep in "" `$(VLC_CONFIG) --target builtin`; do \ @@ -823,6 +948,10 @@ stamp-builtin: FORCE done @if test ! -f $@; then printf "" > $@; fi +stamp-api: Makefile.in $(HEADERS_include) vlc-config vlc-api.pl src/misc/modules_builtin.h.in + cd $(srcdir) && cat $(HEADERS_include) | perl ./vlc-api.pl + touch stamp-api + ############################################################################### # Force rule ###############################################################################