Modified softfloat3e Makefile to fix compüilation with MSVC nmake.

Since GNU make and MSVC nmake need special rules for compiling this module that
causes failure with the other 'make' variant, the configure script needs to
comment out incompatible rules. Using symbols GNU_MAKE_ONLY and NMAKE_ONLY to
enable only one of the rulesets only.
Since one of the MSVC nmake rules uses curly brackets the shortcut script
.conf.win64-vcpp needs to be modified to exclude cpu/softfloat3e/Makefile
from removal of these usually unwanted characters.
This commit is contained in:
Volker Ruppert 2024-03-15 18:55:18 +01:00
parent c2891e5ff6
commit a3ff473642
4 changed files with 72 additions and 41 deletions

View File

@ -32,8 +32,10 @@ unset echo
# Fix up all makefiles so that nmake can handle them.
for i in `find . -name Makefile`; do
echo Removing curly brackets in $i for NMAKE.
mv $i $i.tmp
sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i
rm -f $i.tmp
if test "$i" != "./cpu/softfloat3e/Makefile"; then
echo Removing curly brackets in $i for NMAKE.
mv $i $i.tmp
sed -e 's/{/(/g' -e 's/}/)/g' < $i.tmp > $i
rm -f $i.tmp
fi
done

68
bochs/configure vendored
View File

@ -928,6 +928,8 @@ LSMOD
KERNELDIR
PCI_OBJS
AVX_LIB_VAR
NMAKE_ONLY
GNU_MAKE_ONLY
FPU_VAR
INSTRUMENT_VAR
INSTRUMENT_DIR
@ -6168,7 +6170,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 6171 "configure"' > conftest.$ac_ext
echo '#line 6173 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
@ -7665,11 +7667,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7668: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7670: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:7672: \$? = $ac_status" >&5
echo "$as_me:7674: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@ -7899,11 +7901,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7902: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7904: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:7906: \$? = $ac_status" >&5
echo "$as_me:7908: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@ -7967,11 +7969,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7970: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7972: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:7974: \$? = $ac_status" >&5
echo "$as_me:7976: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -9762,7 +9764,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 9765 "configure"
#line 9767 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -9857,7 +9859,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 9860 "configure"
#line 9862 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -11975,11 +11977,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:11978: $lt_compile\"" >&5)
(eval echo "\"\$as_me:11980: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:11982: \$? = $ac_status" >&5
echo "$as_me:11984: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@ -12043,11 +12045,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:12046: $lt_compile\"" >&5)
(eval echo "\"\$as_me:12048: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:12050: \$? = $ac_status" >&5
echo "$as_me:12052: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -13066,7 +13068,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 13069 "configure"
#line 13071 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -13161,7 +13163,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 13164 "configure"
#line 13166 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -13981,11 +13983,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:13984: $lt_compile\"" >&5)
(eval echo "\"\$as_me:13986: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:13988: \$? = $ac_status" >&5
echo "$as_me:13990: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@ -14049,11 +14051,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:14052: $lt_compile\"" >&5)
(eval echo "\"\$as_me:14054: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:14056: \$? = $ac_status" >&5
echo "$as_me:14058: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -16017,11 +16019,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:16020: $lt_compile\"" >&5)
(eval echo "\"\$as_me:16022: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:16024: \$? = $ac_status" >&5
echo "$as_me:16026: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@ -16251,11 +16253,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:16254: $lt_compile\"" >&5)
(eval echo "\"\$as_me:16256: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:16258: \$? = $ac_status" >&5
echo "$as_me:16260: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
@ -16319,11 +16321,11 @@ else $as_nop
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:16322: $lt_compile\"" >&5)
(eval echo "\"\$as_me:16324: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:16326: \$? = $ac_status" >&5
echo "$as_me:16328: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@ -18114,7 +18116,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 18117 "configure"
#line 18119 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -18209,7 +18211,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 18212 "configure"
#line 18214 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -19979,7 +19981,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 19982 "configure"
#line 19984 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -23981,6 +23983,16 @@ fi
if test "$MSVC_TARGET" = 0; then
GNU_MAKE_ONLY=""
NMAKE_ONLY="# "
else
GNU_MAKE_ONLY="# "
NMAKE_ONLY=""
fi
support_vmx=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for VMX support" >&5
printf %s "checking for VMX support... " >&6; }

View File

@ -1152,6 +1152,16 @@ AC_ARG_ENABLE(fpu,
)
AC_SUBST(FPU_VAR)
if test "$MSVC_TARGET" = 0; then
GNU_MAKE_ONLY=""
NMAKE_ONLY="# "
else
GNU_MAKE_ONLY="# "
NMAKE_ONLY=""
fi
AC_SUBST(GNU_MAKE_ONLY)
AC_SUBST(NMAKE_ONLY)
support_vmx=0
AC_MSG_CHECKING(for VMX support)
AC_ARG_ENABLE(vmx,

View File

@ -42,9 +42,9 @@ SOFTFLOAT_OPTS = \
DELETE = @RMCOMMAND@
C_INCLUDES = -I. -I../.. -I$(SOURCE_DIR)/$(SPECIALIZE_TYPE) -I$(SOURCE_DIR)/include
COMPILE_C = \
$(CXX) -c \
-DSOFTFLOAT_FAST_INT64 $(SOFTFLOAT_OPTS) $(C_INCLUDES) -O2 -o $@
MAKELIB = ar crs $@
$(CXX) @DASH@c @CFLAGS@ \
-DSOFTFLOAT_FAST_INT64 $(SOFTFLOAT_OPTS) $(C_INCLUDES) @OFP@$@
MAKELIB = @MAKELIB@
OBJ = .o
LIB = .a
@ -275,19 +275,26 @@ $(OBJS_SPECIALIZE) $(OBJS_OTHERS): \
$(SOURCE_DIR)/$(SPECIALIZE_TYPE)/specialize.h \
$(SOURCE_DIR)/include/softfloat.h
$(OBJS_PRIMITIVES) $(OBJS_OTHERS): %$(OBJ): $(SOURCE_DIR)/%.c
$(COMPILE_C) $(SOURCE_DIR)/$*.c
@GNU_MAKE_ONLY@$(OBJS_PRIMITIVES) $(OBJS_OTHERS): %$(OBJ): $(SOURCE_DIR)/%.c
@GNU_MAKE_ONLY@ $(COMPILE_C) $(SOURCE_DIR)/$*.c
$(OBJS_SPECIALIZE): %$(OBJ): $(SOURCE_DIR)/$(SPECIALIZE_TYPE)/%.c
$(COMPILE_C) $(SOURCE_DIR)/$(SPECIALIZE_TYPE)/$*.c
@GNU_MAKE_ONLY@$(OBJS_SPECIALIZE): %$(OBJ): $(SOURCE_DIR)/$(SPECIALIZE_TYPE)/%.c
@GNU_MAKE_ONLY@ $(COMPILE_C) $(SOURCE_DIR)/$(SPECIALIZE_TYPE)/$*.c
@NMAKE_ONLY@.c.o:
@NMAKE_ONLY@ $(COMPILE_C) /Tp$<
@NMAKE_ONLY@{8086-SSE\}.c.o:
@NMAKE_ONLY@ $(COMPILE_C) /Tp$<
libsoftfloat$(LIB): $(OBJS_ALL)
$(DELETE) $@
$(MAKELIB) $^
$(MAKELIB) $(OBJS_ALL)
.PHONY: clean
clean:
$(DELETE) $(OBJS_ALL) libsoftfloat$(LIB)
$(DELETE) *.o
$(DELETE) *.a
dist-clean: clean
$(DELETE) Makefile