On Aug  7 08:40, NightStrike wrote:
> On Tue, Aug 7, 2012 at 5:48 AM, Corinna Vinschen <[email protected]> wrote:
> > +AC_MSG_CHECKING([whether to build a w32api package for Cygwin])
> > +AC_ARG_ENABLE([cygwin],
> > +  [AS_HELP_STRING([--enable-cygwin],
> > +    [Enable building a w32api package for Cygwin (implies 
> > --disable-crt)])],
> 
> Change to:
> Enable building a w32api package for Cygwin (shorthand for
> --includedir=PREFIX/include/w32api --disable-startup)

Here's a new patch according to the discussion on IRC.  I also moved the
lib build statements depending on W32API to the end of the lists.

    mingw-w64-headers:

        * configure.ac: Add --enable-w32api option.

    mingw-w64-crt:

        * configure.ac: Replace --enable-startup with --enable-w32api option.
        (LIB64SUFFIXDIR, LIB32SUFFIXDIR): Conditionalize on enable_w32api.
        * Makefile.am: Replace STARTUP conditions with W32API conditions.
        Drop libraries depending on W32API.
        (libsrcdir): Conditionalize on W32API.


Index: mingw-w64-headers/configure.ac
===================================================================
--- mingw-w64-headers/configure.ac      (revision 5336)
+++ mingw-w64-headers/configure.ac      (working copy)
@@ -45,6 +45,21 @@
 done
 #FIXME: Add in base directx
 
+AC_MSG_CHECKING([whether to build a w32api package for Cygwin])
+AC_ARG_ENABLE([w32api],
+  [AS_HELP_STRING([--enable-w32api],
+    [Enable building a w32api package for Cygwin (shorthand for 
--includedir=PREFIX/include/w32api --disable-crt)])],
+  [],
+  [AS_VAR_SET([enable_w32api],[yes])])
+AC_MSG_RESULT([$enable_w32api])
+AS_CASE([$enable_w32api],
+  [no],[],
+  [yes],[AS_VAR_SET([HAVE_W32API])
+        AS_VAR_SET([enable_crt],[no])
+        AS_VAR_SET([includedir],[${prefix}/include/w32api])],
+  [AC_MSG_ERROR([invalid argument.  Must be either yes or no.])])
+AM_CONDITIONAL([HAVE_W32API], [AS_VAR_TEST_SET([HAVE_W32API])])
+
 AC_MSG_CHECKING([for c-runtime headers])
 AC_ARG_ENABLE([crt],
   [AS_HELP_STRING([--disable-crt],
Index: mingw-w64-crt/Makefile.am
===================================================================
--- mingw-w64-crt/Makefile.am   (revision 5336)
+++ mingw-w64-crt/Makefile.am   (working copy)
@@ -269,7 +269,7 @@
 lib32dir=$(prefix)/@LIB32SUFFIXDIR@
 crt32dir=$(lib32dir)
 
-if STARTUP
+if ! W32API
 crt32_DATA = \
   lib32/crt1.o    lib32/crt2.o     lib32/crt1u.o   lib32/crt2u.o    
lib32/dllcrt1.o    lib32/dllcrt2.o \
   lib32/CRT_fp8.o lib32/CRT_fp10.o lib32/txtmode.o lib32/binmode.o  
lib32/crtbegin.o   lib32/crtend.o \
@@ -310,18 +310,7 @@
 dxerr.c \
 test.c
 
-lib32_LIBRARIES = lib32/libm.a
-nodist_lib32_libm_a_SOURCES = $(src_libm)
-lib32_libm_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
-
-lib32_LIBRARIES += lib32/libgmon.a
-lib32_libgmon_a_SOURCES = profile/mcount.c \
-  profile/profil.h profile/profil.c        \
-  profile/gmon.h   profile/gmon.c \
-  profile/mcountFunc.S
-lib32_libgmon_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
-
-lib32_LIBRARIES += lib32/libshell32.a
+lib32_LIBRARIES = lib32/libshell32.a
 lib32_libshell32_a_SOURCES = $(src_libshell32)
 lib32_libshell32_a_AR = $(DTLIB32) && $(AR) $(ARFLAGS)
 lib32_libshell32_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
@@ -373,23 +362,6 @@
 lib32_libportabledeviceguids_a_SOURCES = $(src_libportabledeviceguids)
 lib32_libportabledeviceguids_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
 
-lib32_LIBRARIES += lib32/liblargeint.a
-lib32_liblargeint_a_SOURCES = $(src_liblargeint)
-lib32_liblargeint_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
-
-lib32_LIBRARIES += lib32/libmingw32.a
-lib32_libmingw32_a_CPPFLAGS=$(CPPFLAGS32) -D_SYSCRT=1 -DCRTDLL=1 
$(extra_include) $(AM_CPPFLAGS)
-lib32_libmingw32_a_SOURCES = $(src_libmingw32)
-
-lib32_LIBRARIES += lib32/libmingwex.a
-lib32_libmingwex_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS)
-lib32_libmingwex_a_SOURCES = $(src_libmingwex) $(src_libmingwex32)
-
-lib32_LIBRARIES += lib32/libmoldname.a
-lib32_libmoldname_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS)
-lib32_libmoldname_a_SOURCES = $(src_libmoldname)
-lib32_libmoldname_a_AR = $(DTDEF32) $(top_srcdir)/lib32/moldname-msvcrt.def -U 
--dllname msvcrt.dll && $(AR) $(ARFLAGS)
-
 lib32_LIBRARIES += lib32/libscrnsave.a
 lib32_libscrnsave_a_SOURCES = $(src_libscrnsave)
 lib32_libscrnsave_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
@@ -403,10 +375,6 @@
 lib32_libstrmiids_a_SOURCES = $(src_libstrmiids)
 lib32_libstrmiids_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
 
-lib32_LIBRARIES += lib32/libmingwthrd.a
-lib32_libmingwthrd_a_SOURCES = $(src_libmingwthrd)
-lib32_libmingwthrd_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
-
 lib32_LIBRARIES += lib32/libuuid.a
 lib32_libuuid_a_SOURCES = $(src_libuuid)
 lib32_libuuid_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
@@ -424,6 +392,40 @@
 lib32_LIBRARIES += lib32/libdelayimp.a
 lib32_libdelayimp_a_SOURCES =
 
+if ! W32API
+lib32_LIBRARIES += lib32/libm.a
+nodist_lib32_libm_a_SOURCES = $(src_libm)
+lib32_libm_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
+
+lib32_LIBRARIES += lib32/libgmon.a
+lib32_libgmon_a_SOURCES = profile/mcount.c \
+  profile/profil.h profile/profil.c        \
+  profile/gmon.h   profile/gmon.c \
+  profile/mcountFunc.S
+lib32_libgmon_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
+
+lib32_LIBRARIES += lib32/liblargeint.a
+lib32_liblargeint_a_SOURCES = $(src_liblargeint)
+lib32_liblargeint_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
+
+lib32_LIBRARIES += lib32/libmingw32.a
+lib32_libmingw32_a_CPPFLAGS=$(CPPFLAGS32) -D_SYSCRT=1 -DCRTDLL=1 
$(extra_include) $(AM_CPPFLAGS)
+lib32_libmingw32_a_SOURCES = $(src_libmingw32)
+
+lib32_LIBRARIES += lib32/libmingwex.a
+lib32_libmingwex_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS)
+lib32_libmingwex_a_SOURCES = $(src_libmingwex) $(src_libmingwex32)
+
+lib32_LIBRARIES += lib32/libmoldname.a
+lib32_libmoldname_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS)
+lib32_libmoldname_a_SOURCES = $(src_libmoldname)
+lib32_libmoldname_a_AR = $(DTDEF32) $(top_srcdir)/lib32/moldname-msvcrt.def -U 
--dllname msvcrt.dll && $(AR) $(ARFLAGS)
+
+lib32_LIBRARIES += lib32/libmingwthrd.a
+lib32_libmingwthrd_a_SOURCES = $(src_libmingwthrd)
+lib32_libmingwthrd_a_CPPFLAGS=$(CPPFLAGS32) $(sysincludes)
+endif
+
 #These defs have no accompanying sources.  Look into using the rule below to 
run the dlltool command
 #for all libraries, including those with sources.
 lib32_DATA = \
@@ -570,7 +572,7 @@
 lib64dir=$(prefix)/@LIB64SUFFIXDIR@
 crt64dir=$(lib64dir)
 
-if STARTUP
+if ! W32API
 crt64_DATA = \
   lib64/crt1.o    lib64/crt2.o     lib64/crt1u.o   lib64/crt2u.o   
lib64/dllcrt1.o lib64/dllcrt2.o \
   lib64/CRT_fp8.o lib64/CRT_fp10.o lib64/txtmode.o lib64/binmode.o 
lib64/crtbegin.o lib64/crtend.o \
@@ -603,11 +605,7 @@
 lib64/%.o: crt/%.c
        $(COMPILE) $(CPPFLAGS64) -c $< -o $@
 
-lib64_LIBRARIES = lib64/libm.a
-nodist_lib64_libm_a_SOURCES = $(src_libm)
-lib64_libm_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
-
-lib64_LIBRARIES += lib64/libshell32.a
+lib64_LIBRARIES = lib64/libshell32.a
 lib64_libshell32_a_SOURCES = $(src_libshell32)
 lib64_libshell32_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
 lib64_libshell32_a_AR = $(DTLIB64) && $(AR) $(ARFLAGS)
@@ -650,13 +648,6 @@
 lib64_libportabledeviceguids_a_SOURCES = $(src_libportabledeviceguids)
 lib64_libportabledeviceguids_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
 
-lib64_LIBRARIES += lib64/libgmon.a
-lib64_libgmon_a_SOURCES = profile/mcount.c \
-  profile/profil.h profile/profil.c        \
-  profile/gmon.h   profile/gmon.c \
-  profile/mcountFunc.S
-lib64_libgmon_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
-
 lib64_LIBRARIES += lib64/libksuser.a
 lib64_libksuser_a_SOURCES = $(src_libksuser)
 lib64_libksuser_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
@@ -666,10 +657,6 @@
 lib64_libksguid_a_SOURCES = $(src_libksguid)
 lib64_libksguid_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
 
-lib64_LIBRARIES += lib64/liblargeint.a
-lib64_liblargeint_a_SOURCES = $(src_liblargeint)
-lib64_liblargeint_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
-
 lib64_LIBRARIES += lib64/libscrnsave.a
 lib64_libscrnsave_a_SOURCES = $(src_libscrnsave)
 lib64_libscrnsave_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
@@ -683,6 +670,39 @@
 lib64_libstrmiids_a_SOURCES = $(src_libstrmiids)
 lib64_libstrmiids_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
 
+lib64_LIBRARIES += lib64/libuuid.a
+lib64_libuuid_a_SOURCES = $(src_libuuid)
+lib64_libuuid_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
+
+lib64_LIBRARIES += lib64/libgdiplus.a
+lib64_libgdiplus_a_SOURCES = $(src_libgdiplus)
+lib64_libgdiplus_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
+lib64_libgdiplus_a_AR = $(DTLIB64) && $(AR) $(ARFLAGS)
+
+lib64_LIBRARIES += lib64/libws2_32.a
+lib64_libws2_32_a_SOURCES = $(src_libws2_32)
+lib64_libws2_32_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
+lib64_libws2_32_a_AR = $(DTLIB64) && $(AR) $(ARFLAGS)
+
+lib64_LIBRARIES += lib64/libdelayimp.a
+lib64_libdelayimp_a_SOURCES =
+
+if ! W32API
+lib64_LIBRARIES += lib64/libm.a
+nodist_lib64_libm_a_SOURCES = $(src_libm)
+lib64_libm_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
+
+lib64_LIBRARIES += lib64/libgmon.a
+lib64_libgmon_a_SOURCES = profile/mcount.c \
+  profile/profil.h profile/profil.c        \
+  profile/gmon.h   profile/gmon.c \
+  profile/mcountFunc.S
+lib64_libgmon_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
+
+lib64_LIBRARIES += lib64/liblargeint.a
+lib64_liblargeint_a_SOURCES = $(src_liblargeint)
+lib64_liblargeint_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
+
 lib64_LIBRARIES += lib64/libmingw32.a
 lib64_libmingw32_a_CPPFLAGS=$(CPPFLAGS64) -D_SYSCRT=1 -DCRTDLL=1 
$(extra_include) $(AM_CPPFLAGS)
 lib64_libmingw32_a_SOURCES = $(src_libmingw32)
@@ -699,24 +719,8 @@
 lib64_LIBRARIES += lib64/libmingwthrd.a
 lib64_libmingwthrd_a_SOURCES = $(src_libmingwthrd)
 lib64_libmingwthrd_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
+endif
 
-lib64_LIBRARIES += lib64/libuuid.a
-lib64_libuuid_a_SOURCES = $(src_libuuid)
-lib64_libuuid_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
-
-lib64_LIBRARIES += lib64/libgdiplus.a
-lib64_libgdiplus_a_SOURCES = $(src_libgdiplus)
-lib64_libgdiplus_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
-lib64_libgdiplus_a_AR = $(DTLIB64) && $(AR) $(ARFLAGS)
-
-lib64_LIBRARIES += lib64/libws2_32.a
-lib64_libws2_32_a_SOURCES = $(src_libws2_32)
-lib64_libws2_32_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes)
-lib64_libws2_32_a_AR = $(DTLIB64) && $(AR) $(ARFLAGS)
-
-lib64_LIBRARIES += lib64/libdelayimp.a
-lib64_libdelayimp_a_SOURCES =
-
 lib64_DATA = \
   lib64/libwinusb.a \
   lib64/lib6to4svc.a    lib64/libaaaamon.a    lib64/libacledit.a      
lib64/libaclui.a      \
@@ -1036,7 +1040,11 @@
 
 # Don't compile these, but install as is:
 #
-libsrcdir=$(prefix)/libsrc
+if W32API
+libsrcdir=$(prefix)/include/w32api
+else
+libsrcdir=$(prefix)/include
+endif
 libsrc_DATA = \
   libsrc/agtctl_i.c   libsrc/agtsvr_i.c     libsrc/cdoex_i.c    
libsrc/cdoexm_i.c     \
   libsrc/cdosys_i.c   libsrc/emostore_i.c   libsrc/iisext_i.c   
libsrc/mtsadmin_i.c   \
Index: mingw-w64-crt/configure.ac
===================================================================
--- mingw-w64-crt/configure.ac  (revision 5336)
+++ mingw-w64-crt/configure.ac  (working copy)
@@ -45,18 +45,18 @@
 dnl ---
 AM_PROG_CC_C_O
 
-AC_MSG_CHECKING([whether to build the crt startup])
-AC_ARG_ENABLE([startup],
-  [AS_HELP_STRING([--disable-startup],
-    [Disable building the crt runtime startup code (*.o files)])],
+AC_MSG_CHECKING([whether to build a w32api package for Cygwin])
+AC_ARG_ENABLE([w32api],
+  [AS_HELP_STRING([--enable-w32api],
+    [Enable building a w32api package for Cygwin])],
   [],
-  [AS_VAR_SET([enable_startup],[yes])])
-AC_MSG_RESULT([$enable_startup])
-AS_CASE([$enable_startup],
+  [AS_VAR_SET([enable_w32api],[yes])])
+AC_MSG_RESULT([$enable_w32api])
+AS_CASE([$enable_w32api],
   [no],[],
-  [yes],[AS_VAR_SET([STARTUP])],
+  [yes],[AS_VAR_SET([W32API])],
   [AC_MSG_ERROR([invalid argument.  Must be either yes or no.])])
-AM_CONDITIONAL([STARTUP], [AS_VAR_TEST_SET([STARTUP])])
+AM_CONDITIONAL([W32API], [AS_VAR_TEST_SET([W32API])])
 
 AC_MSG_CHECKING([whether to build the Win32 libraries])
 AC_ARG_ENABLE([lib32],
@@ -116,17 +116,23 @@
   AS_IF([AS_VAR_TEST_SET([LIB32]) || AS_VAR_TEST_SET([LIB64])],
     [AC_MSG_WARN([Building the runtime to use libce with lib32 or lib64 is 
unsupported.])])])
 
-AS_CASE([$host_cpu],
-  [x86_64],[
-    AC_SUBST([LIB64SUFFIXDIR],[lib])
-    AC_SUBST([LIB32SUFFIXDIR],[lib32])],
-  [i*86],[
-    AC_SUBST([LIB64SUFFIXDIR],[lib64])
-    AC_SUBST([LIB32SUFFIXDIR],[lib])],
-  [*],[
-    AC_SUBST([LIB64SUFFIXDIR],[lib64])
-    AC_SUBST([LIB32SUFFIXDIR],[lib32])]
-  )
+AS_CASE([$enable_w32api],
+  [yes],[
+           AC_SUBST([LIB64SUFFIXDIR],[lib64/w32api])
+           AC_SUBST([LIB32SUFFIXDIR],[lib/w32api])
+       ],
+  [AS_CASE([$host_cpu],
+         [x86_64],[
+           AC_SUBST([LIB64SUFFIXDIR],[lib])
+           AC_SUBST([LIB32SUFFIXDIR],[lib32])],
+         [i*86],[
+           AC_SUBST([LIB64SUFFIXDIR],[lib64])
+           AC_SUBST([LIB32SUFFIXDIR],[lib])],
+         [*],[
+           AC_SUBST([LIB64SUFFIXDIR],[lib64])
+           AC_SUBST([LIB32SUFFIXDIR],[lib32])]
+         )]
+)
 
 # Checks for features.
 
@@ -221,6 +227,7 @@
 #AC_FUNC_VPRINTF
 #AC_CHECK_FUNCS([alarm atexit btowc fesetround floor ftruncate gettimeofday 
isascii localeconv mbrlen memmove memset pow rint setlocale sqrt strcasecmp 
strchr strncasecmp strtoull strtoumax])
 
+
 AC_CHECK_HEADER([_mingw_mac.h], [], [AC_MSG_ERROR([Please check if the 
mingw-w64 header set and the build/host option are set properly.])])
 
 #Warnings and errors, default level is 3

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to