Alexandre Julliard : programs: Only create executable wrappers for programs that get installed in the bin directory .
Alexandre Julliard
julliard at winehq.org
Tue Feb 24 10:21:11 CST 2009
Module: wine
Branch: master
Commit: a6b91685b727b154de268c43753d09a538c7b6f3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a6b91685b727b154de268c43753d09a538c7b6f3
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Feb 23 17:15:14 2009 +0100
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 9ec7ed5..cf63122 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 fc0362f..d51df86 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 e1e98fa..ad1cdd7 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 7bd60b2..3bc7abd 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, at 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 ea39636..1f9fe78 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 20fd2ba..298ca1a 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 e73fabb..c1a58e6 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};
}
}
More information about the wine-cvs
mailing list