programs: Only create executable wrappers for programs that get installed in the bin directory.

This commit is contained in:
Alexandre Julliard 2009-02-23 17:15:14 +01:00
parent 8dc97882f3
commit a6b91685b7
7 changed files with 40 additions and 50 deletions

37
.gitignore vendored
View File

@ -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

14
configure vendored
View File

@ -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

View File

@ -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"

View File

@ -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__)

View File

@ -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)

View File

@ -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 $@

View File

@ -541,7 +541,7 @@ sub update_gitignore(@)
}
if ($dir =~ /^programs\/(.*)\/$/)
{
push @ignores, "$dir$1";
push @ignores, "$dir$1" if $bin_install{$1};
}
}