Winemaker update
Francois Gouget
fgouget at codeweavers.com
Mon Oct 27 20:05:33 CST 2003
Here's a patch to start the winemaker clean up. There's still a lot more
to do.
Changelog:
Francois Gouget <fgouget at codeweavers.com>
* tools/winemaker
Add support for .dbg.c files. This makes it possible to use the Wine
tracing macros in Winelib applications.
The wine/lib, wine/ole, wine/unicode directories are gone. Simplify
the wine_unicode and wine_uuid detection.
Fix generation of the clean target (in some corner cases it could
generate a $(RM) command with no parameter).
Move the distclean target to the top-level Makefile and make it more
thorough.
Update a few autoconf constructs.
Remote commented out code in wrapper.c. If we need that code we can
always get it from CVS.
--
Francois Gouget
fgouget at codeweavers.com
-------------- next part --------------
Index: tools/winemaker
===================================================================
RCS file: /home/cvs/wine/tools/winemaker,v
retrieving revision 1.66
diff -u -r1.66 winemaker
--- tools/winemaker 27 Oct 2003 22:14:15 -0000 1.66
+++ tools/winemaker 28 Oct 2003 02:01:58 -0000
@@ -560,7 +560,7 @@
} elsif (-f "$fullentry") {
if ($dentry =~ /\.(exe|dll)$/i) {
$targets{$dentry}=1;
- } elsif ($dentry =~ /\.c$/i and $dentry !~ /\.spec\.c$/) {
+ } elsif ($dentry =~ /\.c$/i and $dentry !~ /\.(dbg|spec)\.c$/) {
push @sources_c,"$dentry";
} elsif ($dentry =~ /\.(cpp|cxx)$/i) {
if ($dentry =~ /^stdafx.cpp$/i && !(@$project_settings[$T_FLAGS] & $TF_NOMFC)) {
@@ -1893,15 +1893,16 @@
print FILEO "\t_list=\"\$(EXES:%=%.so) \$(DLLS:%=%.so)\"; for i in \$\$_list; do \$(RM) \$(dlldir)/\$\$i;done\n";
}
print FILEO "\n";
- print FILEO "clean::\n";
- print FILEO "\t\$(RM)";
if (@$project[$P_PATH] eq "") {
- print FILEO " wineapploader";
- }
- if (@{@$project[$P_TARGETS]} > 0) {
- print FILEO " \$(EXES:%.exe=%)";
+ print FILEO "clean::\n";
+ print FILEO "\t\$(RM) wineapploader\n";
+ print FILEO "\n";
+ print FILEO "distclean: clean\n";
+ print FILEO "\t\$(RM) config.* configure.lineno Make.rules\n";
+ print FILEO "\t\$(RM) -r autom4te.cache\n";
+ print FILEO "\tfind . -name Makefile -exec \$(RM) {} \\;\n";
+ print FILEO "\n";
}
- print FILEO "\n\n";
if (@{@$project[$P_TARGETS]} > 0) {
print FILEO "### Target specific build rules\n\n";
@@ -1926,16 +1927,19 @@
$all_libs="\$(${canon}_LIBRARIES:%=-l%) \$(ALL_LIBRARIES)";
}
+ print FILEO "\$(${canon}_MODULE).dbg.c: \$(${canon}_C_SRCS) \$(${canon}_CXX_SRCS)\n";
+ print FILEO "\t\$(LDPATH) \$(WINEBUILD) -o \$\@ --debug -C\$(SRCDIR) \$(${canon}_C_SRCS) \$(${canon}_CXX_SRCS)\n";
+ print FILEO "\n";
print FILEO "\$(${canon}_MODULE).spec.c: \$(${canon}_SPEC_SRCS) \$(${canon}_RC_SRCS:.rc=.res) \$(${canon}_OBJS)\n";
print FILEO "\t\$(LDPATH) \$(WINEBUILD) -fPIC -o \$\@ $mode \$(${canon}_SPEC_SRCS:%=--spec %) \$(${canon}_RC_SRCS:%.rc=%.res) \$(${canon}_OBJS) \$(${canon}_DLL_PATH) \$(WINE_DLL_PATH) \$(GLOBAL_DLL_PATH) $all_dlls\n";
print FILEO "\n";
- print FILEO "\$(${canon}_MODULE).so: \$(${canon}_MODULE).spec.o \$(${canon}_OBJS) \$(${canon}_DEPENDS)\n";
+ print FILEO "\$(${canon}_MODULE).so: \$(${canon}_MODULE).dbg.o \$(${canon}_MODULE).spec.o \$(${canon}_OBJS) \$(${canon}_DEPENDS)\n";
if (@{@$target[$T_SOURCES_CXX]} > 0 or @{@$project_settings[$T_SOURCES_CXX]} > 0) {
print FILEO "\t\$(LDXXSHARED)";
} else {
print FILEO "\t\$(LDSHARED)";
}
- print FILEO " \$(LDDLLFLAGS) -o \$\@ \$(${canon}_OBJS) \$(${canon}_MODULE).spec.o \$(${canon}_LIBRARY_PATH) \$(ALL_LIBRARY_PATH) $all_libs \$(LIBS)\n";
+ print FILEO " \$(LDDLLFLAGS) -o \$\@ \$(${canon}_OBJS) \$(${canon}_MODULE).dbg.o \$(${canon}_MODULE).spec.o \$(${canon}_LIBRARY_PATH) \$(ALL_LIBRARY_PATH) $all_libs \$(LIBS)\n";
if (@$target[$T_TYPE] != $TT_DLL) {
print FILEO "\ttest -f \$(${canon}_BASEMODULE) || \$(INSTALL_SCRIPT) wineapploader \$(${canon}_BASEMODULE)\n";
}
@@ -2338,8 +2342,8 @@
if test "x${GCC}" = "xyes"
then
- AC_CACHE_CHECK( "for gcc strength-reduce bug", ac_cv_c_gcc_strength_bug,
- AC_TRY_RUN([
+ AC_CACHE_CHECK([for gcc strength-reduce bug], ac_cv_c_gcc_strength_bug,
+ AC_TRY_RUN([
int main(void) {
static int Array[[3]];
unsigned int B = 3;
@@ -2361,7 +2365,7 @@
LDSHARED=""
LDXXSHARED=""
LDDLLFLAGS=""
-AC_CACHE_CHECK("whether we can build a Linux dll",
+AC_CACHE_CHECK([whether we can build a Linux dll],
ac_cv_c_dll_linux,
[saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,conftest.so.1.0,-Bsymbolic"
@@ -2374,7 +2378,7 @@
LDXXSHARED="\$(CXX) -shared"
LDDLLFLAGS="-Wl,-Bsymbolic"
else
- AC_CACHE_CHECK(whether we can build a UnixWare (Solaris) dll,
+ AC_CACHE_CHECK([whether we can build a UnixWare (Solaris) dll],
ac_cv_c_dll_unixware,
[saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
@@ -2387,7 +2391,7 @@
LDXXSHARED="\$(CXX) -Wl,-G"
LDDLLFLAGS="-Wl,-B,symbolic"
else
- AC_CACHE_CHECK("whether we can build a NetBSD dll",
+ AC_CACHE_CHECK([whether we can build a NetBSD dll],
ac_cv_c_dll_netbsd,
[saved_cflags=$CFLAGS
CFLAGS="$CFLAGS -fPIC -Wl,-Bshareable,-Bforcearchive"
@@ -2415,7 +2419,7 @@
dnl *** check for the need to define __i386__
-AC_CACHE_CHECK("whether we need to define __i386__",ac_cv_cpp_def_i386,
+AC_CACHE_CHECK([whether we need to define __i386__],ac_cv_cpp_def_i386,
AC_EGREP_CPP(yes,[#if (defined(i386) || defined(__i386)) && !defined(__i386__)
yes
#endif],
@@ -2427,7 +2431,7 @@
dnl *** check for the need to define __sparc__
-AC_CACHE_CHECK("whether we need to define __sparc__",ac_cv_cpp_def_sparc,
+AC_CACHE_CHECK([whether we need to define __sparc__],ac_cv_cpp_def_sparc,
AC_EGREP_CPP(yes,[#if (defined(sparc) || defined(__sparc)) && !defined(__sparc__)
yes
#endif],
@@ -2440,7 +2444,7 @@
dnl *** check for the need to define __sun__
-AC_CACHE_CHECK("whether we need to define __sun__",ac_cv_cpp_def_sun,
+AC_CACHE_CHECK([whether we need to define __sun__],ac_cv_cpp_def_sun,
AC_EGREP_CPP(yes,[#if (defined(sun) || defined(__sun)) && !defined(__sun__)
yes
#endif],
@@ -2457,7 +2461,7 @@
then
OLDCXXFLAGS="$CXXFLAGS";
CXXFLAGS="-fpermissive";
- AC_CACHE_CHECK("for g++ -fpermissive option", has_gxx_permissive,
+ AC_CACHE_CHECK([for g++ -fpermissive option], has_gxx_permissive,
AC_TRY_COMPILE(,[
for (int i=0;i<2;i++);
i=0;
@@ -2466,7 +2470,7 @@
[has_gxx_permissive="no"])
)
CXXFLAGS="-fno-for-scope";
- AC_CACHE_CHECK("for g++ -fno-for-scope option", has_gxx_no_for_scope,
+ AC_CACHE_CHECK([for g++ -fno-for-scope option], has_gxx_no_for_scope,
AC_TRY_COMPILE(,[
for (int i=0;i<2;i++);
i=0;
@@ -2631,11 +2635,9 @@
if test -n "$WINE_ROOT"
then
WINE_INCLUDE_ROOT="$WINE_ROOT/include:$WINE_ROOT/include/wine:$WINE_ROOT/include/wine/windows:$WINE_ROOT/include/windows"
- WINE_LIBRARY_ROOT="$WINE_ROOT:$WINE_ROOT/lib:$WINE_ROOT/library"
- WINE_UNICODE_ROOT="$WINE_ROOT:$WINE_ROOT/lib:$WINE_ROOT/unicode"
- WINE_UUID_ROOT="$WINE_ROOT:$WINE_ROOT/lib:$WINE_ROOT/ole"
+ WINE_LIBRARY_ROOT="$WINE_ROOT:$WINE_ROOT/libs:$WINE_ROOT/lib"
+ WINE_DLL_ROOT="$WINE_ROOT/dlls:$WINE_ROOT/lib:$WINE_ROOT/lib/wine"
WINE_TOOL_PATH="$WINE_ROOT:$WINE_ROOT/bin:$WINE_ROOT/tools/wrc:$WINE_ROOT/tools/winebuild"
- WINE_DLL_ROOT="$WINE_ROOT/dlls:$WINE_ROOT/lib"
fi
AC_ARG_WITH(wine-includes,
@@ -2660,8 +2662,6 @@
if test -n "$WINE_LIBRARIES"
then
WINE_LIBRARY_ROOT="$WINE_LIBRARIES"
- WINE_UNICODE_ROOT="$WINE_LIBRARIES:$WINE_LIBRARIES/unicode:$WINE_LIBRARIES/../unicode"
- WINE_UUID_ROOT="$WINE_LIBRARIES:$WINE_LIBRARIES/ole:$WINE_LIBRARIES/../ole"
fi
AC_ARG_WITH(wine-dlls,
@@ -2725,46 +2725,23 @@
WINE_LIBRARY_PATH=""
fi
-if test -z "$WINE_UNICODE_ROOT"
-then
- WINE_UNICODE_ROOT=":/usr/lib/wine:/usr/local/lib:/usr/local/lib/wine:/opt/wine/lib"
-else
- AC_PATH_FILE(WINE_UNICODE_ROOT,[libwine_unicode.so],[
- AC_MSG_ERROR([Could not find the Wine libraries (libwine_unicode.so)])
- ],$WINE_UNICODE_ROOT)
-fi
-AC_PATH_LIBRARY(WINE_UNICODE_ROOT,[-lwine_unicode],[$WINE_LIBRARY_PATH -lwine],[
- AC_MSG_ERROR([Could not link with the Wine libraries (libwine_unicode.so)])
-],[$WINE_UNICODE_ROOT])
-
-if test -n "$WINE_UNICODE_ROOT" -a "$WINE_UNICODE_ROOT" != "$WINE_LIBRARY_ROOT"
-then
- WINE_LIBRARY_PATH="$WINE_LIBRARY_PATH -L$WINE_UNICODE_ROOT"
- LDPATH="$LDPATH:$WINE_UNICODE_ROOT"
-fi
+save_LIBS="$LIBS"
+LIBS="$WINE_LIBRARY_PATH $LIBS"
-if test -z "$WINE_UUID_ROOT"
-then
- WINE_UUID_ROOT=":/usr/lib/wine:/usr/local/lib:/usr/local/lib/wine:/opt/wine/lib"
-else
- AC_PATH_FILE(WINE_UUID_ROOT,[libwine_uuid.a],[
- AC_MSG_ERROR([Could not find the Wine libraries (libwine_uuid.a)])
- ],$WINE_UUID_ROOT)
-fi
-AC_PATH_LIBRARY(WINE_UUID_ROOT,[-lwine_uuid],[$WINE_LIBRARY_PATH -lwine],[
- AC_MSG_ERROR([Could not link with the Wine libraries (libwine_uuid.a)])
-],[$WINE_UUID_ROOT])
+AC_CHECK_LIB(wine_unicode,wine_cp_wcstombs,[],[
+ AC_MSG_ERROR([Could not find the Wine dlls (libwine_unicode.so)])
+])
+AC_CHECK_LIB(wine_uuid,IID_IUnknown,[],[
+ AC_MSG_ERROR([Could not find the Wine dlls (libwine_uuid.so)])
+])
-if test -n "$WINE_UUID_ROOT" -a "$WINE_UUID_ROOT" != "$WINE_LIBRARY_ROOT"
-then
- WINE_LIBRARY_PATH="$WINE_LIBRARY_PATH -L$WINE_UUID_ROOT"
-fi
+LIBS="$save_LIBS"
if test -z "$WINE_DLL_ROOT"
then
if test -n "$WINE_LIBRARY_ROOT"
then
- WINE_DLL_ROOT="$WINE_LIBRARY_ROOT:$WINE_LIBRARY_ROOT/dlls"
+ WINE_DLL_ROOT="$WINE_LIBRARY_ROOT:$WINE_LIBRARY_ROOT/dlls:$WINE_LIBRARY_ROOT/wine"
else
WINE_DLL_ROOT="/lib:/lib/wine:/usr/lib:/usr/lib/wine:/usr/local/lib:/usr/local/lib/wine"
fi
@@ -3052,10 +3029,9 @@
OBJS = $(C_SRCS:.c=.o) $(CXX_SRCS:.cpp=.o) \
$(SPEC_SRCS:.spec=.spec.o)
-CLEAN_FILES = *.spec.c y.tab.c y.tab.h lex.yy.c \
+CLEAN_FILES = *.dbg.c *.spec.c y.tab.c y.tab.h lex.yy.c \
core *.orig *.rej \
\\\#*\\\# *~ *% .\\\#*
-DISTCLEAN_FILES = config.* Makefile Make.rules
# Implicit rules
@@ -3094,12 +3070,9 @@
-cd `dirname $@` && $(RM) $(CLEAN_FILES)
clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
- $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(OBJS) $(EXES:%.exe=%) $(EXES:%=%.so) $(EXES:%=%.spec.o) $(DLLS:%=%.so) $(DLLS:%=%.spec.o)
-
-# Rule for distcleaning
-
-distclean: clean
- $(RM) $(DISTCLEAN_FILES)
+ $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(OBJS)
+ $(RM) $(DLLS:%=%.dbg.o) $(DLLS:%=%.spec.o) $(DLLS:%=%.so)
+ $(RM) $(EXES:%=%.dbg.o) $(EXES:%=%.spec.o) $(EXES:%=%.so) $(EXES:%.exe=%)
# Rules for installing
@@ -3229,36 +3202,10 @@
int WINAPI main(int argc, char** argv, char** envp)
#endif
{
- /*void* appLibrary;*/
HINSTANCE hApp = 0, hMFC = 0, hMain = 0;
void* appMain;
- /*char* libName;*/
int retcode;
- /* Load the application's library */
- /*libName=(char*)malloc(2+strlen(appName)+3+1);*/
- /* FIXME: we should get the wrapper's path and use that as the base for
- * the library
- */
- /*sprintf(libName,"./%s.so",appName);*/
- /*appLibrary=dlopen(libName,RTLD_NOW);*/
- /*if (appLibrary==NULL) {*/
- /*sprintf(libName,"%s.so",appName);*/
- /*appLibrary=dlopen(libName,RTLD_NOW);*/
- /*}*/
- /*if (appLibrary==NULL) {*/
- /*char format[]="Could not load the %s library:\r\n%s";*/
- /*char* error;*/
- /*char* msg;*/
-
- /*error=dlerror();*/
- /*msg=(char*)malloc(strlen(format)+strlen(libName)+strlen(error));*/
- /*sprintf(msg,format,libName,error);*/
- /*MessageBox(NULL,msg,"dlopen error",MB_OK);*/
- /*free(msg);*/
- /*return 1;*/
- /*}*/
-
/* Then if this application is MFC based, load the MFC module */
/* FIXME: I'm not sure this is really necessary */
if (mfcModule!=NULL) {
@@ -3324,8 +3271,6 @@
if (hMFC!=NULL) {
FreeLibrary(hMFC);
}
- /*dlclose(appLibrary);*/
- /*free(libName);*/
return retcode;
}
More information about the wine-patches
mailing list