Alexandre Julliard : configure: Add a __WINE_PE_BUILD define for files that are built as PE.

Alexandre Julliard julliard at winehq.org
Thu Oct 14 15:09:33 CDT 2021


Module: wine
Branch: master
Commit: cbf94a7b2c73d7c717a6e77c96a85f94f032e73c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=cbf94a7b2c73d7c717a6e77c96a85f94f032e73c

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Oct 14 11:07:10 2021 +0200

configure: Add a __WINE_PE_BUILD define for files that are built as PE.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 configure                   | 11 ++++++-----
 configure.ac                | 12 +++++-------
 dlls/winecrt0/crt_dllmain.c |  2 +-
 dlls/winecrt0/crt_fltused.c |  2 +-
 dlls/winecrt0/debug.c       |  4 ++--
 dlls/winecrt0/delay_load.c  |  6 +++---
 dlls/winecrt0/unix_lib.c    |  4 ++--
 include/config.h.in         |  3 ---
 include/wine/asm.h          | 14 +++++++-------
 9 files changed, 27 insertions(+), 31 deletions(-)

diff --git a/configure b/configure
index d9dfe3e9c89..b61f1284ac4 100755
--- a/configure
+++ b/configure
@@ -630,7 +630,6 @@ LDAP_CFLAGS
 RT_LIBS
 TOOLSEXT
 MSVCRTFLAGS
-EXTRACFLAGS
 VKD3D_SHADER_LIBS
 VKD3D_SHADER_CFLAGS
 VKD3D_LIBS
@@ -751,6 +750,7 @@ TOP_INSTALL_DEV
 TOP_INSTALL_LIB
 UNIXLDFLAGS
 UNIXDLLFLAGS
+EXTRACFLAGS
 LDEXECFLAGS
 LDDLLFLAGS
 DLLFLAGS
@@ -7935,6 +7935,8 @@ LDDLLFLAGS=""
 
 LDEXECFLAGS=""
 
+EXTRACFLAGS=""
+
 UNIXDLLFLAGS="-fPIC"
 
 UNIXLDFLAGS="-shared -Wl,-Bsymbolic -Wl,-soname,\$(UNIXLIB)"
@@ -8311,6 +8313,7 @@ else
 fi
 
     LIBEXT="dll"
+    EXTRACFLAGS="-D__WINE_PE_BUILD"
         case $host_cpu in
       *i[3456]86*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--disable-stdcall-fixup" >&5
 $as_echo_n "checking whether the compiler supports -Wl,--disable-stdcall-fixup... " >&6; }
@@ -9628,7 +9631,7 @@ test -n "$CROSSCC" || CROSSCC="false"
         saved_LDFLAGS=$LDFLAGS
         CROSSCFLAGS=${CROSSCFLAGS:-"-g -O2"}
 
-        EXTRACROSSCFLAGS="-DWINE_CROSS_PE -Wall"
+        EXTRACROSSCFLAGS="-D__WINE_PE_BUILD -Wall"
 
 
 
@@ -16871,11 +16874,9 @@ fi
 test "x$ac_cv_lib_soname_vkd3d" != "x" || enable_d3d12=${enable_d3d12:-no}
 
 
-EXTRACFLAGS=""
-
 if test "x${GCC}" = "xyes"
 then
-  EXTRACFLAGS="-Wall -pipe"
+  EXTRACFLAGS="$EXTRACFLAGS -Wall -pipe"
 
       saved_CFLAGS=$CFLAGS
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Werror=unknown-warning-option" >&5
diff --git a/configure.ac b/configure.ac
index 44f8a1e2af6..f9caef8a857 100644
--- a/configure.ac
+++ b/configure.ac
@@ -696,6 +696,7 @@ dnl **** Check for working dll ****
 AC_SUBST(DLLFLAGS,"")
 AC_SUBST(LDDLLFLAGS,"")
 AC_SUBST(LDEXECFLAGS,"")
+AC_SUBST(EXTRACFLAGS,"")
 AC_SUBST(UNIXDLLFLAGS,"-fPIC")
 AC_SUBST(UNIXLDFLAGS,["-shared -Wl,-Bsymbolic -Wl,-soname,\$(UNIXLIB)"])
 AC_SUBST(TOP_INSTALL_LIB,"")
@@ -715,6 +716,7 @@ case $host_os in
   cygwin*|mingw32*)
     AC_CHECK_TOOL(DLLTOOL,dlltool,false)
     LIBEXT="dll"
+    EXTRACFLAGS="-D__WINE_PE_BUILD"
     dnl Disable stdcall fixups to catch prototype mismatches
     case $host_cpu in
       *i[[3456]]86*) WINE_TRY_CFLAGS([-Wl,--disable-stdcall-fixup],
@@ -953,7 +955,7 @@ then
         saved_CFLAGS=$CFLAGS
         saved_LDFLAGS=$LDFLAGS
         AC_SUBST(CROSSCFLAGS,${CROSSCFLAGS:-"-g -O2"})
-        AC_SUBST(EXTRACROSSCFLAGS,"-DWINE_CROSS_PE -Wall")
+        AC_SUBST(EXTRACROSSCFLAGS,"-D__WINE_PE_BUILD -Wall")
         AC_SUBST(CROSSLDFLAGS)
 
         CC="$CROSSCC"
@@ -1955,10 +1957,9 @@ test "x$ac_cv_lib_soname_vkd3d" != "x" || enable_d3d12=${enable_d3d12:-no}
 
 dnl **** Check for gcc specific options ****
 
-AC_SUBST(EXTRACFLAGS,"")
 if test "x${GCC}" = "xyes"
 then
-  EXTRACFLAGS="-Wall -pipe"
+  EXTRACFLAGS="$EXTRACFLAGS -Wall -pipe"
 
   dnl Check for some compiler flags
   dnl clang needs to be told to fail on unknown options
@@ -2584,10 +2585,7 @@ esac
 dnl **** Generate output files ****
 
 AH_TOP([#ifndef __WINE_CONFIG_H
-#define __WINE_CONFIG_H
-#ifdef WINE_CROSS_PE
-#error config.h should not be used when cross-compiling
-#endif])
+#define __WINE_CONFIG_H])
 AH_BOTTOM([#endif /* __WINE_CONFIG_H */])
 
 AC_CONFIG_COMMANDS([include/stamp-h], [echo timestamp > include/stamp-h])
diff --git a/dlls/winecrt0/crt_dllmain.c b/dlls/winecrt0/crt_dllmain.c
index b8b22eb1f24..181760c884a 100644
--- a/dlls/winecrt0/crt_dllmain.c
+++ b/dlls/winecrt0/crt_dllmain.c
@@ -18,7 +18,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 
 #include <stdarg.h>
 #include <stdio.h>
diff --git a/dlls/winecrt0/crt_fltused.c b/dlls/winecrt0/crt_fltused.c
index f65fc2d96c0..75abdfb3fa5 100644
--- a/dlls/winecrt0/crt_fltused.c
+++ b/dlls/winecrt0/crt_fltused.c
@@ -16,7 +16,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 
 /* referenced by MSVC to pull crt support for floating points. we don't use it. */
 int _fltused = 0;
diff --git a/dlls/winecrt0/debug.c b/dlls/winecrt0/debug.c
index cb07c7835d4..14f3d2d3773 100644
--- a/dlls/winecrt0/debug.c
+++ b/dlls/winecrt0/debug.c
@@ -18,7 +18,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 
 #include <stdio.h>
 #include <stdarg.h>
@@ -249,4 +249,4 @@ int __cdecl __wine_dbg_header( enum __wine_debug_class cls, struct __wine_debug_
     return p__wine_dbg_header( cls, channel, function );
 }
 
-#endif  /* _WIN32 */
+#endif  /* __WINE_PE_BUILD */
diff --git a/dlls/winecrt0/delay_load.c b/dlls/winecrt0/delay_load.c
index 1778856aa56..8f28c94d1d5 100644
--- a/dlls/winecrt0/delay_load.c
+++ b/dlls/winecrt0/delay_load.c
@@ -25,7 +25,7 @@
 
 WINBASEAPI void *WINAPI DelayLoadFailureHook( LPCSTR name, LPCSTR function );
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 
 extern IMAGE_DOS_HEADER __ImageBase;
 
@@ -39,7 +39,7 @@ FARPROC WINAPI __delayLoadHelper2( const IMAGE_DELAYLOAD_DESCRIPTOR *descr, IMAG
     return ResolveDelayLoadedAPI( &__ImageBase, descr, NULL, DelayLoadFailureHook, addr, 0 );
 }
 
-#else /* _WIN32 */
+#else /* __WINE_PE_BUILD */
 
 struct ImgDelayDescr
 {
@@ -79,4 +79,4 @@ static void free_delay_imports(void)
 }
 #endif
 
-#endif /* _WIN32 */
+#endif /* __WINE_PE_BUILD */
diff --git a/dlls/winecrt0/unix_lib.c b/dlls/winecrt0/unix_lib.c
index 584da22ab71..5239148e3aa 100644
--- a/dlls/winecrt0/unix_lib.c
+++ b/dlls/winecrt0/unix_lib.c
@@ -18,7 +18,7 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 
 #include <stdarg.h>
 
@@ -65,4 +65,4 @@ NTSTATUS WINAPI __wine_unix_call( unixlib_handle_t handle, unsigned int code, vo
     return p__wine_unix_call( handle, code, args );
 }
 
-#endif  /* _WIN32 */
+#endif  /* __WINE_PE_BUILD */
diff --git a/include/config.h.in b/include/config.h.in
index d616fb69a0d..f899dc27459 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -2,9 +2,6 @@
 
 #ifndef __WINE_CONFIG_H
 #define __WINE_CONFIG_H
-#ifdef WINE_CROSS_PE
-#error config.h should not be used when cross-compiling
-#endif
 
 /* Define to the file extension for executables. */
 #undef EXEEXT
diff --git a/include/wine/asm.h b/include/wine/asm.h
index da1d0d803cd..0547ee94b19 100644
--- a/include/wine/asm.h
+++ b/include/wine/asm.h
@@ -21,13 +21,13 @@
 #ifndef __WINE_WINE_ASM_H
 #define __WINE_WINE_ASM_H
 
-#if defined(__APPLE__) || (defined(_WIN32) && defined(__i386__))
+#if defined(__APPLE__) || (defined(__WINE_PE_BUILD) && defined(__i386__))
 # define __ASM_NAME(name) "_" name
 #else
 # define __ASM_NAME(name) name
 #endif
 
-#if defined(_WIN32) && defined(__i386__)
+#if defined(__WINE_PE_BUILD) && defined(__i386__)
 # define __ASM_STDCALL(name,args)  "_" name "@" #args
 # define __ASM_FASTCALL(name,args) "@" name "@" #args
 #else
@@ -55,7 +55,7 @@
 # define __ASM_SEH(str)
 #endif
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 # define __ASM_FUNC_TYPE(name) ".def " name "\n\t.scl 2\n\t.type 32\n\t.endef"
 #elif defined(__APPLE__)
 # define __ASM_FUNC_TYPE(name) ""
@@ -67,7 +67,7 @@
 # define __ASM_FUNC_TYPE(name) ".type " name ", at function"
 #endif
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 # define __ASM_FUNC_SIZE(name) ""
 #elif defined(__APPLE__)
 # define __ASM_FUNC_SIZE(name) ""
@@ -107,7 +107,7 @@
     __ASM_BLOCK_END
 #endif
 
-#ifdef _WIN32
+#ifdef __WINE_PE_BUILD
 #define __ASM_GLOBAL_IMPORT(name) __ASM_DEFINE_IMPORT(__ASM_NAME(#name))
 #define __ASM_STDCALL_IMPORT(name,args) __ASM_DEFINE_IMPORT(__ASM_STDCALL(#name,args))
 #else
@@ -117,7 +117,7 @@
 
 /* fastcall support */
 
-#if defined(__i386__) && !defined(_WIN32)
+#if defined(__i386__) && !defined(__WINE_PE_BUILD)
 
 # define __ASM_USE_FASTCALL_WRAPPER
 # define DEFINE_FASTCALL1_WRAPPER(func) \
@@ -176,7 +176,7 @@
 
 #endif  /* __i386__ */
 
-#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && !defined(_WIN32) && !defined(__APPLE__) && !defined(__ANDROID__)
+#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && !defined(__WINE_PE_BUILD) && !defined(__APPLE__) && !defined(__ANDROID__)
 #define __ASM_OBSOLETE(func) __asm__( ".symver " #func "_obsolete," #func "@WINE_1.0" )
 #else
 #undef __ASM_OBSOLETE




More information about the wine-cvs mailing list