From a6b91685b727b154de268c43753d09a538c7b6f3 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 23 Feb 2009 17:15:14 +0100 Subject: [PATCH] programs: Only create executable wrappers for programs that get installed in the bin directory. --- .gitignore | 37 ----------------------------------- configure | 14 +++++++++++++ configure.ac | 13 ++++++++++++ programs/Makefile.in | 9 ++++++++- programs/Makeprog.rules.in | 8 ++------ programs/winetest/Makefile.in | 7 ++----- tools/make_makefiles | 2 +- 7 files changed, 40 insertions(+), 50 deletions(-) diff --git a/.gitignore b/.gitignore index 9ec7ed518e2..cf63122a490 100644 --- a/.gitignore +++ b/.gitignore @@ -226,46 +226,18 @@ loader/wine.de.man loader/wine.fr.man loader/wine.man programs/Makeprog.rules -programs/cacls/cacls -programs/clock/clock -programs/cmd/cmd -programs/cmdlgtst/cmdlgtst -programs/control/control -programs/eject/eject -programs/expand/expand -programs/explorer/explorer -programs/hh/hh -programs/icinfo/icinfo -programs/iexplore/iexplore -programs/lodctr/lodctr programs/msiexec/msiexec -programs/net/net programs/notepad/notepad -programs/oleview/oleview -programs/progman/progman -programs/reg/reg programs/regedit/regedit programs/regsvr32/regsvr32 programs/rpcss/epm.h programs/rpcss/epm_s.c programs/rpcss/irot.h programs/rpcss/irot_s.c -programs/rpcss/rpcss -programs/rundll32/rundll32 -programs/secedit/secedit -programs/services/services programs/services/svcctl.h programs/services/svcctl_s.c -programs/spoolsv/spoolsv -programs/start/start -programs/svchost/svchost -programs/taskmgr/taskmgr -programs/uninstaller/uninstaller -programs/unlodctr/unlodctr -programs/view/view programs/wineapploader programs/wineboot/wineboot -programs/winebrowser/winebrowser programs/winecfg/winecfg programs/wineconsole/wineconsole programs/winedbg/dbg.tab.c @@ -273,21 +245,12 @@ programs/winedbg/dbg.tab.h programs/winedbg/debug.yy.c programs/winedbg/winedbg programs/winedbg/winedbg.man -programs/winedevice/winedevice programs/winefile/winefile -programs/winemenubuilder/winemenubuilder programs/winemine/winemine programs/winepath/winepath programs/winetest/*_test.exe programs/winetest/tests.rc -programs/winetest/winetest -programs/winevdm/winevdm programs/winhlp32/macro.lex.yy.c -programs/winhlp32/winhlp32 -programs/winver/winver -programs/wordpad/wordpad -programs/write/write -programs/xcopy/xcopy server/wineserver server/wineserver-installed server/wineserver.fr.man diff --git a/configure b/configure index fc0362f59b3..d51df86215f 100755 --- a/configure +++ b/configure @@ -639,6 +639,7 @@ ac_includes_default="\ ac_subst_vars='LTLIBOBJS LIBOBJS +ALL_PROGRAM_BIN_WRAPPERS ALL_WINETEST_DEPENDS ALL_PROGRAM_BIN_INSTALL_DIRS ALL_PROGRAM_INSTALL_DIRS @@ -28001,6 +28002,19 @@ $testname: \$(DLLDIR)/$dir/$testname\$(DLLEXT) fi done +test -n "$DLLEXT" || ALL_PROGRAM_BIN_INSTALL_DIRS="" + +ALL_PROGRAM_BIN_WRAPPERS="" + +for dir in $ALL_PROGRAM_BIN_INSTALL_DIRS +do + if test "$dir" != "\\" + then + ALL_PROGRAM_BIN_WRAPPERS="$ALL_PROGRAM_BIN_WRAPPERS \\ + $dir/$dir" + fi +done + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure diff --git a/configure.ac b/configure.ac index e1e98fa0cf3..ad1cdd71a7f 100644 --- a/configure.ac +++ b/configure.ac @@ -2338,6 +2338,19 @@ $testname: \$(DLLDIR)/$dir/$testname\$(DLLEXT) fi done +dnl Don't install in bin dir for Windows build +test -n "$DLLEXT" || ALL_PROGRAM_BIN_INSTALL_DIRS="" + +AC_SUBST(ALL_PROGRAM_BIN_WRAPPERS,"") +for dir in $ALL_PROGRAM_BIN_INSTALL_DIRS +do + if test "$dir" != "\\" + then + ALL_PROGRAM_BIN_WRAPPERS="$ALL_PROGRAM_BIN_WRAPPERS \\ + $dir/$dir" + fi +done + AC_OUTPUT if test "$no_create" = "yes" diff --git a/programs/Makefile.in b/programs/Makefile.in index 7bd60b27da4..3bc7abdb01f 100644 --- a/programs/Makefile.in +++ b/programs/Makefile.in @@ -6,6 +6,7 @@ VPATH = @srcdir@ SUBDIRS = @ALL_PROGRAM_DIRS@ INSTALLSUBDIRS = @ALL_PROGRAM_INSTALL_DIRS@ INSTALLPROGS = @ALL_PROGRAM_BIN_INSTALL_DIRS@ +BIN_WRAPPERS = @ALL_PROGRAM_BIN_WRAPPERS@ INSTALLDIRS = $(DESTDIR)$(bindir) @@ -13,11 +14,14 @@ PROGRAMS = wineapploader @MAKE_RULES@ -all: $(PROGRAMS) $(SUBDIRS) +all: $(PROGRAMS) $(SUBDIRS) $(BIN_WRAPPERS) wineapploader: wineapploader.in sed -e 's,@bindir\@,$(bindir),g' $(SRCDIR)/wineapploader.in >$@ || ($(RM) $@ && false) +$(BIN_WRAPPERS): $(WINEWRAPPER) + $(RM) $@ && $(LN) $(WINEWRAPPER) $@ + # Rules for installation .PHONY: install-apploader install-progs install-progs.so $(INSTALLPROGS:%=%/__installprog__) @@ -39,6 +43,9 @@ uninstall:: -cd $(DESTDIR)$(bindir) && $(RM) wineapploader $(INSTALLPROGS) -rmdir $(DESTDIR)$(dlldir) +clean:: + $(RM) $(BIN_WRAPPERS) + # Rules for testing check test:: $(SUBDIRS:%=%/__test__) diff --git a/programs/Makeprog.rules.in b/programs/Makeprog.rules.in index ea396363100..1f9fe7841c4 100644 --- a/programs/Makeprog.rules.in +++ b/programs/Makeprog.rules.in @@ -12,22 +12,18 @@ DLLFLAGS = @DLLFLAGS@ DEFS = $(EXTRADEFS) ALL_LIBS = $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(EXTRALIBS) $(LIBPORT) $(LDFLAGS) $(LIBS) -BASEMODULE = $(MODULE:.exe=) RUNTESTFLAGS= -q -P wine -T $(TOPOBJDIR) INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(dlldir) $(DESTDIR)$(mandir)/man$(prog_manext) @MAKE_RULES@ -all: $(MODULE)$(DLLEXT) $(BASEMODULE)$(EXEEXT) +all: $(MODULE)$(DLLEXT) # Rules for .so main module $(MODULE).so: $(OBJS) $(RC_SRCS:.rc=.res) Makefile.in $(WINEGCC) $(APPMODE) $(OBJS) $(RC_SRCS:.rc=.res) -o $@ $(ALL_LIBS) $(DELAYIMPORTS:%=-Wb,-d%) -$(BASEMODULE): $(WINEWRAPPER) - $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@ - # Rules for .exe main module $(MODULE): $(OBJS) $(RCOBJS) Makefile.in @@ -60,4 +56,4 @@ install install-lib:: install_prog$(DLLEXT) uninstall:: uninstall_prog$(DLLEXT) clean:: - $(RM) $(BASEMODULE) $(MODULE) + $(RM) $(MODULE) diff --git a/programs/winetest/Makefile.in b/programs/winetest/Makefile.in index 20fd2ba694d..298ca1a5862 100644 --- a/programs/winetest/Makefile.in +++ b/programs/winetest/Makefile.in @@ -36,7 +36,7 @@ tests.rc: Makefile.in $(TOPOBJDIR)/config.status (for i in $(TESTBINS); do echo "$$i TESTRES \"$$i\""; done) >$@ || ($(RM) $@ && false) clean:: - $(RM) tests.rc dist.res winetest-dist winetest-dist.exe $(TESTBINS) + $(RM) tests.rc dist.res winetest-dist.exe $(TESTBINS) depend: tests.rc @@ -44,14 +44,11 @@ depend: tests.rc .PHONY: dist -dist: winetest-dist.exe$(DLLEXT) winetest-dist$(EXEEXT) +dist: winetest-dist.exe$(DLLEXT) winetest-dist.exe.so: $(OBJS) dist.res Makefile.in $(WINEGCC) $(APPMODE) $(OBJS) dist.res -o $@ -L$(DLLDIR) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS) -winetest-dist: $(WINEWRAPPER) - $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@ - winetest-dist.exe: $(OBJS) dist.res.o Makefile.in $(CC) $(APPMODE) $(OBJS) dist.res.o -o $@ -L$(DLLDIR) $(IMPORTS:%=-L$(DLLDIR)/%) $(ALL_LIBS) -upx -9 -qqq $@ diff --git a/tools/make_makefiles b/tools/make_makefiles index e73fabbdbad..c1a58e6baaa 100755 --- a/tools/make_makefiles +++ b/tools/make_makefiles @@ -541,7 +541,7 @@ sub update_gitignore(@) } if ($dir =~ /^programs\/(.*)\/$/) { - push @ignores, "$dir$1"; + push @ignores, "$dir$1" if $bin_install{$1}; } }