X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Makefile.am;h=e366e9a516b4f828304ccb4cb22cf9b9077d2aa5;hb=12ade3e3bc975d5426ba4af155b7372c31093b31;hp=1d7ceb85b3447c56bf1579f3c96f39b4fbda0174;hpb=c748554df814c00764b89a1397da04ed2062499c;p=vlc diff --git a/Makefile.am b/Makefile.am index 1d7ceb85b3..e366e9a516 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,7 +8,7 @@ # - src (libvlc) is nedeed by modules, mozilla and bindings # - libs/* are needed by modules BASE_SUBDIRS = po compat src bin modules share doc test -EXTRA_SUBDIRS = m4 extras/package/ipkg \ +EXTRA_SUBDIRS = m4 \ libs/loader libs/srtp libs/unzip \ projects/mozilla projects/activex DIST_SUBDIRS = $(BASE_SUBDIRS) $(EXTRA_SUBDIRS) @@ -39,7 +39,6 @@ endif EXTRA_DIST = \ HACKING \ INSTALL.win32 \ - INSTALL.wince \ extras/package/win32/vlc.exe.manifest \ extras/package/win32/libvlc.dll.manifest \ extras/package/macosx/README.MacOSX.rtf \ @@ -75,10 +74,14 @@ EXTRA_DIST = \ extras/package/win32/languages/sorani.nsh \ extras/package/win32/languages/spanish.nsh -dist_noinst_SCRIPTS = bootstrap toolbox +dist_noinst_SCRIPTS = bootstrap nodist_noinst_SCRIPTS = compile -BUILT_SOURCES_distclean = vlc-config extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi +BUILT_SOURCES_distclean = vlc-config +if HAVE_WIN32 +BUILT_SOURCES_distclean += \ + extras/package/win32/vlc.win32.nsi extras/package/win32/spad.nsi +endif if HAVE_DARWIN BUILT_SOURCES_clean = macosx-sdk else @@ -103,10 +106,10 @@ DISTCHECK_CONFIGURE_FLAGS = \ ACLOCAL_AMFLAGS = -I m4 AUTOMAKE_OPTIONS = \ - 1.9 \ + 1.11 \ -Wall \ check-news \ - dist-bzip2 \ + dist-xz \ no-dist-gzip # std-options @@ -324,9 +327,6 @@ EXTRA_DIST += \ extras/misc/mpris.py \ extras/misc/mpris.glade -dist-hook: - distdir=$(distdir) srcdir=$(srcdir) $(SHELL) $(srcdir)/toolbox --dist-contrib - ############################################################################### # Building libvlc ############################################################################### @@ -695,17 +695,14 @@ VLC.app: vlc $(top_builddir)/src/.libs/libvlccore.dylib $(top_builddir)/src/.lib ############################################################################ ## Win ## ############################################################################ +destdir=$(prefix) win32_destdir=$(top_builddir)/vlc-$(VERSION) -win32_xpi_destdir=$(win32_destdir)/vlc-plugin win32_debugdir=$(top_builddir)/symbols-$(VERSION) -npvlc=vlc-$(VERSION)/mozilla/npvlc$(LIBEXT) -axvlc=vlc-$(VERSION)/activex/axvlc$(LIBEXT) win32_lua_destdir=$(win32_destdir)/lua -win32_http_destdir=$(win32_destdir)/http -destdir=_win32 +win32_xpi_destdir=$(win32_destdir)/vlc-plugin -#Win-common if for win32 and wince -package-win-common: +#Win-common is for win32 and wince +package-win-common: install # Check that tmp isn't in the way @if test -e "$(win32_destdir)"; then \ echo "Error: please remove $(win32_destdir), it is in the way"; \ @@ -714,110 +711,37 @@ package-win-common: echo "Error: please remove $(win32_debugdir), it is in the way"; \ false; \ else \ - echo "OK."; mkdir -p "$(win32_debugdir)"; \ - echo "OK."; mkdir -p "$(win32_destdir)"; \ + echo "Debug dir OK."; mkdir -p "$(win32_debugdir)"; \ + echo "Dest dir OK."; mkdir -p "$(win32_destdir)"; \ fi -# Copy relevant files -# Copy executables, major libs+manifests - for file in $(destdir)/bin/vlc$(EXEEXT) $(destdir)/bin/libvlc$(LIBEXT) \ - $(destdir)/bin/libvlccore$(LIBEXT) $(destdir)/lib/vlc/vlc-cache-gen$(EXEEXT) \ - $(top_srcdir)/extras/package/win32/vlc$(EXEEXT).manifest \ +# Executables, major libs+manifests + find $(destdir) -maxdepth 4 \( -name "*$(LIBEXT)" -o -name "*$(EXEEXT)" \) -exec cp {} "$(win32_destdir)/" \; + for file in $(top_srcdir)/extras/package/win32/vlc$(EXEEXT).manifest \ $(top_srcdir)/extras/package/win32/libvlc$(LIBEXT).manifest; \ do cp $$file "$(win32_destdir)/" ; done; -# Copy Text files +# Text files and clean them for file in AUTHORS THANKS ; \ do sed 's/@/_AT_/' < "$(srcdir)/$$file" > "$(win32_destdir)/$${file}.txt" ; done; for file in NEWS COPYING README; \ do cp "$(srcdir)/$$file" "$(win32_destdir)/$${file}.txt"; done - $(U2D) "$(win32_destdir)/"*.txt || echo "WARNING: this shouldn't happen" -# Necessary icons - cp $(srcdir)/share/icons/vlc.ico $(win32_destdir)/ -# Copy the locales - cp -r $(destdir)/share/locale $(win32_destdir) - -# Mozilla plugin -if BUILD_MOZILLA - mkdir -p "$(win32_destdir)/mozilla" - cp $(top_builddir)/projects/mozilla/.libs/npvlc$(LIBEXT) $(win32_destdir)/mozilla/ - cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir)/mozilla/ -endif -# ActiveX plugin -if BUILD_ACTIVEX - mkdir -p "$(win32_destdir)/activex" - cp $(srcdir)/projects/activex/README.TXT $(win32_destdir)/activex/ - cp $(srcdir)/projects/activex/test.html $(win32_destdir)/activex/ - $(U2D) $(win32_destdir)/activex/* - cp $(top_builddir)/projects/activex/.libs/axvlc$(LIBEXT) $(win32_destdir)/activex/ - cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir)/activex/ -endif +# Necessary icon + cp $(srcdir)/share/icons/vlc.ico $(win32_destdir) -# Rebase all those DLLs to speed up loading (need cygwin rebase) - if rebase -b 0x42 /dev/null >/dev/null 2>&1; then \ - find $(win32_destdir) -type f -name '*.dll' -print | rebase -b 0x70000000 -T -; \ - fi - -# Copy the UAC NSIS plugin - mkdir -p "$(win32_destdir)/NSIS" - cp "$(top_srcdir)/extras/package/win32/UAC.nsh" "$(win32_destdir)/NSIS" - cp "$(top_srcdir)/extras/package/win32/UAC.dll" "$(win32_destdir)/NSIS" - -prepare-win32-web-plugin: package-win-common-strip - mkdir -p "$(win32_xpi_destdir)/plugins" - cp $(win32_destdir)/mozilla/npvlc$(LIBEXT) \ - "$(win32_xpi_destdir)/plugins" - cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest \ - "$(win32_xpi_destdir)/plugins" - cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" \ - "$(win32_xpi_destdir)/plugins" - cp "$(win32_destdir)/libvlccore$(LIBEXT)" \ - "$(win32_xpi_destdir)/plugins" - cp "$(win32_destdir)/libvlc$(LIBEXT)" \ - "$(win32_xpi_destdir)/plugins" - mkdir -p "$(win32_xpi_destdir)/plugins/plugins" - cp $(win32_destdir)/plugins/*$(LIBEXT) \ - "$(win32_xpi_destdir)/plugins/plugins" - rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*" - rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*" -package-win32-xpi: prepare-win32-web-plugin - cp $(top_builddir)/projects/mozilla/install.rdf "$(win32_xpi_destdir)" - cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" \ - install.rdf plugins - -package-win32-crx: prepare-win32-web-plugin - cp $(top_builddir)/projects/mozilla/manifest.json "$(win32_xpi_destdir)" - crxmake --pack-extension "$(win32_xpi_destdir)" \ - --extension-output "$(win32_destdir)/vlc-$(VERSION).crx" \ - --ignore-file install.rdf - -package-win32-base-debug: package-win-common -# Copy relevant files -# Script installer - cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/" - cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/" - mkdir "$(win32_destdir)/languages" - cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/" +# Locales + -cp -r $(destdir)/share/locale $(win32_destdir) # Plugins - mkdir -p "$(win32_destdir)/plugins" - find modules/ -name '*_plugin$(LIBEXT)' | while read i; do \ - if test -n "$$i" ; then \ - $(INSTALL) "$$i" "vlc-$(VERSION)/plugins/" ; \ - fi ; done - -#Enable DEP and ASLR for all the binaries -if USE_PEFLAGS - find $(win32_destdir) -type f -name '*dll' -print -o -name '*exe' -print -exec $(PEFLAGS) --dynamicbase=true --nxcompat=true {} \; -endif + cp -r $(destdir)/lib/vlc/plugins $(win32_destdir) if BUILD_LUA # Copy the lua scripts (HTTP) mkdir -p $(win32_lua_destdir) cp -r $(destdir)/share/vlc/lua/http "$(win32_lua_destdir)/http" -#Lua Scripts +# Lua Scripts - cannot be simplified yet, because make install doesn't install READMEs $(INSTALL) -d $(win32_lua_destdir) for i in $(srcdir)/share/lua/*.* ; do \ $(INSTALL) -m 644 -- "$${i}" $(win32_lua_destdir)/`basename $${i}` ; \ @@ -860,15 +784,13 @@ if BUILD_LUA done endif -# Copy the http files if BUILD_HTTPD - cp -r $(destdir)/share/vlc/http $(win32_http_destdir) + cp -r $(destdir)/share/vlc/http $(win32_destdir) endif if BUILD_SKINS cp -r $(destdir)/share/vlc/skins2 $(win32_destdir)/skins endif if BUILD_OSDMENU -#OSD Menu cp -r $(destdir)/share/vlc/osdmenu "$(win32_destdir)/osdmenu" for file in $(win32_destdir)/osdmenu/*.cfg; do \ sed 's%share/osdmenu%osdmenu%g' "$$file" > "$$file.tmp" || exit $$? ; \ @@ -876,26 +798,36 @@ if BUILD_OSDMENU rm -f -- "$$file.tmp"; \ done endif +if BUILD_MOZILLA + cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest $(win32_destdir) +endif +if BUILD_ACTIVEX + cp $(top_srcdir)/projects/activex/axvlc.dll.manifest $(win32_destdir) +endif # SDK - mkdir -p "$(win32_destdir)/sdk" - mkdir -p "$(win32_destdir)/sdk/lib" + mkdir -p "$(win32_destdir)/sdk/lib" cp -r $(destdir)/include "$(win32_destdir)/sdk" cp -r $(destdir)/lib/pkgconfig "$(win32_destdir)/sdk/lib" for file in libvlc.dll.a libvlc.la libvlccore.dll.a libvlccore.la; do \ cp -r $(destdir)/lib/$$file "$(win32_destdir)/sdk/lib"; done +if BUILD_ACTIVEX + mkdir -p "$(win32_destdir)/sdk/activex" + cp $(srcdir)/projects/activex/README.TXT $(win32_destdir)/sdk/activex/ + cp $(srcdir)/projects/activex/test.html $(win32_destdir)/sdk/activex/ +endif - find $(win32_destdir) -name "*xml" -or -name "*html" -or -name '*js' -or -name '*css' -or -name '*hosts' -or -iname '*txt' -or -name '*.cfg' -or -name '*lua' -exec unix2dos {} \; + find $(win32_destdir) -type f \( -name "*xml" -or -name "*html" -or -name '*js' -or -name '*css' -or -name '*hosts' -or -iname '*txt' -or -name '*.cfg' -or -name '*.lua' \) -exec $(U2D) {} \; + +#Enable DEP and ASLR for all the binaries +if USE_PEFLAGS + find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -print -o -name '*$(EXEEXT)' -print \) -exec $(PEFLAGS) --dynamicbase=true --nxcompat=true {} \; +endif # Strip DLLs -package-win-common-strip: package-win32-base-debug - for i in "" $(win32_destdir)/*$(LIBEXT) \ - $(win32_destdir)/*$(EXEEXT) \ - $(win32_destdir)/activex/*$(LIBEXT) \ - $(win32_destdir)/mozilla/*$(LIBEXT) \ - $(win32_destdir)/plugins/*$(LIBEXT) \ - ; do \ - if test -n "$$i" ; then \ +package-win-base: package-win-common + find $(win32_destdir) -type f \( -name '*$(LIBEXT)' -or -name '*$(EXEEXT)' \) | while read i; \ + do if test -n "$$i" ; then \ $(OBJCOPY) --only-keep-debug "$$i" "$$i.dbg"; \ $(OBJCOPY) --strip-all "$$i" ; \ $(OBJCOPY) --add-gnu-debuglink="$$i.dbg" "$$i" ; \ @@ -903,11 +835,36 @@ package-win-common-strip: package-win32-base-debug fi ; \ done -package-win32-base: package-win-common-strip +package-win32-webplugin-common: package-win-base + mkdir -p "$(win32_xpi_destdir)/plugins" + find $(destdir) -maxdepth 4 -name "*$(LIBEXT)" -exec cp {} "$(win32_xpi_destdir)/" \; + cp $(top_srcdir)/projects/mozilla/npvlc.dll.manifest "$(win32_xpi_destdir)/plugins" + cp "$(top_srcdir)/extras/package/win32/libvlc.dll.manifest" "$(win32_xpi_destdir)/plugins" + cp -r $(win32_destdir)/plugins/ "$(win32_xpi_destdir)/plugins" + rm -rf "$(win32_xpi_destdir)/plugins/plugins/*qt*" + rm -rf "$(win32_xpi_destdir)/plugins/plugins/*skins*" + +package-win32-xpi: package-win32-webplugin-common + cp $(top_builddir)/projects/mozilla/install.rdf "$(win32_xpi_destdir)" + cd $(win32_xpi_destdir) && zip -r "../vlc-$(VERSION).xpi" install.rdf plugins + +package-win32-crx: package-win32-webplugin-common + cp $(top_builddir)/projects/mozilla/manifest.json "$(win32_xpi_destdir)" + crxmake --pack-extension "$(win32_xpi_destdir)" \ + --extension-output "$(win32_destdir)/vlc-$(VERSION).crx" --ignore-file install.rdf + +package-win32-base-exe: package-win-base +# Script installer + cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/" + cp "$(top_builddir)/extras/package/win32/spad.nsi" "$(win32_destdir)/" + mkdir "$(win32_destdir)/languages" + cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/" +# Copy the UAC NSIS plugin + mkdir -p "$(win32_destdir)/NSIS" + cp "$(top_srcdir)/extras/package/win32/UAC.nsh" "$(win32_destdir)/NSIS" + cp "$(top_srcdir)/extras/package/win32/UAC.dll" "$(win32_destdir)/NSIS" -package-win32-base-exe: package-win32-base # Create package - rm -Rf $(win32_destdir)/sdk if makensis -VERSION >/dev/null 2>&1; then \ MAKENSIS="makensis"; \ elif [ -x "/cygdrive/c/Program Files/NSIS/makensis" ]; then \ @@ -922,29 +879,28 @@ package-win32-base-exe: package-win32-base eval "$$MAKENSIS $(win32_destdir)/spad.nsi"; \ eval "$$MAKENSIS $(win32_destdir)/vlc.win32.nsi" -package-win32-base-zip: package-win32-base -# Create package +package-win32-base-zip: package-win-base +# Create package rm -f -- vlc-$(VERSION)-win32.zip zip -r -9 vlc-$(VERSION)-win32.zip vlc-$(VERSION) -package-win32-base-debug-zip: package-win32-base-debug +package-win32-base-debug-zip: package-win-common # Create package rm -f -- vlc-$(VERSION)-win32-debug.zip zip -r -9 vlc-$(VERSION)-win32-debug.zip vlc-$(VERSION) -package-win32-base-7zip: package-win32-base -# Create package +package-win32-base-7zip: package-win-base +# Create package 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32.7z vlc-$(VERSION) -package-win32-base-debug-7zip: package-win32-base-debug +package-win32-base-debug-7zip: package-win-common # Create package 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on vlc-$(VERSION)-win32-debug.7z vlc-$(VERSION) package-win32-cleanup: - rm -Rf $(win32_destdir) - rm -Rf $(win32_debugdir) + rm -Rf $(win32_destdir) $(win32_debugdir) -package-win32-exe: package-win32-base package-win32-base-exe package-win32-cleanup +package-win32-exe: package-win-base package-win32-base-exe package-win32-cleanup package-win32-zip: package-win32-base-zip package-win32-cleanup @@ -954,63 +910,26 @@ package-win32-7zip: package-win32-base-7zip package-win32-cleanup package-win32-debug-7zip: package-win32-base-debug-7zip package-win32-cleanup -package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe +package-win32-no-clean: package-win32-base-zip package-win32-base-7zip package-win32-base-exe package-win32-xpi package-win32: package-win32-no-clean package-win32-cleanup package-win32-debug: package-win32-base-debug-zip package-win32-base-debug-7zip package-win32-cleanup + ####### # WinCE ####### -package-wince-base: package-win-common-strip +package-wince-base: package-win-base package-wince-base-zip: package-wince-base -# Create package +# Create package rm -f -- vlc-$(VERSION)-wince.zip zip -r -9 vlc-$(VERSION)-wince.zip vlc-$(VERSION) package-wince: package-wince-base-zip package-win32-cleanup -##################################################################### -## BeOS ## -##################################################################### -package-beos: -# Check that tmp isn't in the way - @if test -e $(srcdir)/tmp; then \ - echo "Error: please remove $(srcdir)/tmp, it is in the way"; \ - false ; \ - else \ - echo "OK." ; mkdir $(srcdir)/tmp ; \ - fi - -# Copy relevant files - mkdir -p $(srcdir)/tmp/vlc - cd $(srcdir) && cp -R vlc-bundle/* AUTHORS COPYING ChangeLog README \ - THANKS NEWS tmp/vlc/ - -# Create debug package - xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc - find $(srcdir)/tmp/vlc -exec mimeset -f {} \; - mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-$(VERSION) - (cd $(srcdir)/tmp && zip -9 -r vlc-$(VERSION)-BeOS-debug.zip vlc-$(VERSION) ) - mv $(srcdir)/tmp/vlc-$(VERSION)-BeOS-debug.zip $(srcdir)/ - 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-debug --strip-unneeded "{}" \; - xres -o $(srcdir)/tmp/vlc/vlc $(srcdir)/share/vlc_beos.rsrc - find $(srcdir)/tmp/vlc -exec mimeset -f {} \; - mv $(srcdir)/tmp/vlc $(srcdir)/tmp/vlc-$(VERSION) - (cd $(srcdir)/tmp && zip -9 -r vlc-$(VERSION)-BeOS.zip vlc-$(VERSION) ) - mv $(srcdir)/tmp/vlc-$(VERSION)-BeOS.zip $(srcdir)/ - -# Clean up - rm -Rf $(srcdir)/tmp - ######################################################################### ## MacOS X ## #########################################################################