summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in12
-rw-r--r--config.usage1
-rwxr-xr-xconfigure4
-rw-r--r--sofort/ccenv/ccenv.sh30
-rw-r--r--sofort/ccenv/ccenv.vars4
-rw-r--r--sofort/ccenv/pedefs.in4
-rw-r--r--sofort/config/config.vars4
7 files changed, 46 insertions, 13 deletions
diff --git a/Makefile.in b/Makefile.in
index be602cc..c17ddcb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -79,10 +79,6 @@ USER_CC = @user_cc@
USER_CPP = @user_cpp@
USER_CXX = @user_cxx@
-PE_SUBSYSTEM = @pe_subsystem@
-PE_IMAGE_BASE = @pe_image_base@
-PE_CONFIG_DEFS = @pe_config_defs@
-
NATIVE_HOST = @native_host@
NATIVE_CFGHOST = @native_cfghost@
NATIVE_CFLAGS = @native_cflags@
@@ -281,9 +277,10 @@ clean: clean-implib
rm -f build/$(PACKAGE).pc
-.display: .display-project .display-pkgconf .display-env \
- .display-tools .display-flags .display-pe \
- .display-dirs .display-build .display-config
+.display: .display-project .display-pkgconf .display-env \
+ .display-tools .display-flags \
+ .display-dirs .display-build \
+ .display-config
.conf: PAGER ?= less
.conf:
@@ -375,7 +372,6 @@ clean: clean-implib
.display-pe:
@echo PE_SUBSYSTEM:' '$(PE_SUBSYSTEM)
@echo PE_IMAGE_BASE:' '$(PE_IMAGE_BASE)
- @echo PE_CONFIG_DEFS:' '$(PE_CONFIG_DEFS)
@echo
.display-dirs:
diff --git a/config.usage b/config.usage
index 87fbdd3..f29f27c 100644
--- a/config.usage
+++ b/config.usage
@@ -147,7 +147,6 @@ supported variables:
PE_SUBSYSTEM
PE_IMAGE_BASE
- PE_CONFIG_DEFS
NATIVE_CC
NATIVE_CPP
diff --git a/configure b/configure
index 23820a5..74af5fb 100755
--- a/configure
+++ b/configure
@@ -184,7 +184,6 @@ init_vars()
mb_pe_subsystem=$PE_SUBSYSTEM
mb_pe_image_base=$PE_IMAGE_BASE
- mb_pe_config_defs=$PE_CONFIG_DEFS
# overrides
mb_user_cc=$CC
@@ -199,6 +198,9 @@ init_vars()
mb_native_cfghost=$NATIVE_CFGHOST
mb_native_cflags=$NATIVE_CFLAGS
mb_native_ldflags=$NATIVE_LDFLAGS
+
+ mb_native_pe_subsystem=$NATIVE_PE_SUBSYSTEM
+ mb_native_pe_image_base=$NATIVE_PE_IMAGE_BASE
}
diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh
index d6876c7..83b5daa 100644
--- a/sofort/ccenv/ccenv.sh
+++ b/sofort/ccenv/ccenv.sh
@@ -903,11 +903,30 @@ ccenv_set_os_dso_patterns()
esac
}
+ccenv_set_os_pe_switches()
+{
+ if [ "$ccenv_os" = 'PE' ] && [ -z "$ccenv_pe_subsystem" ]; then
+ case "$ccenv_os" in
+ midipix | mingw )
+ ccenv_pe_subsystem='windows'
+ ;;
+ * )
+ ccenv_pe_subsystem='console'
+ ;;
+ esac
+ fi
+}
+
ccenv_output_defs()
{
ccenv_in="$mb_project_dir/sofort/ccenv/ccenv.in"
ccenv_mk="$mb_pwd/ccenv/$ccenv_cfgtype.mk"
+ if [ "$ccenv_cc_binfmt" = 'PE' ]; then
+ ccenv_pe="$mb_project_dir/sofort/ccenv/pedefs.in"
+ ccenv_in="$ccenv_in $ccenv_pe"
+ fi
+
if [ $ccenv_cfgtype = 'native' ]; then
ccenv_tmp=$(mktemp)
@@ -919,7 +938,7 @@ ccenv_output_defs()
-e 's/NATIVE_#/#/g' \
-e 's/ =/=/g' \
-e 's/ +=/+=/g' \
- "$ccenv_in" > "$ccenv_tmp"
+ $ccenv_in > "$ccenv_tmp"
ccenv_in="$ccenv_tmp"
fi
@@ -935,7 +954,7 @@ ccenv_output_defs()
"$__var" "'/g' "; \
done)"
- eval sed $ccenv_sed_substs "$ccenv_in" \
+ eval sed $ccenv_sed_substs $ccenv_in \
| sed -e 's/[ \t]*$//g' \
> "$ccenv_mk"
@@ -1015,12 +1034,18 @@ ccenv_common_init()
ccenv_cc="$mb_user_cc"
ccenv_cpp="$mb_user_cpp"
ccenv_cxx="$mb_user_cxx"
+
+ ccenv_pe_subsystem="$mb_pe_subsystem"
+ ccenv_pe_image_base="$mb_pe_image_base"
else
ccenv_tflags=
ccenv_cflags="$mb_native_cflags"
ccenv_cc="$mb_native_cc"
ccenv_cpp="$mb_native_cpp"
ccenv_cxx="$mb_native_cxx"
+
+ ccenv_pe_subsystem="$mb_native_pe_subsystem"
+ ccenv_pe_image_base="$mb_native_pe_image_base"
fi
}
@@ -1048,6 +1073,7 @@ ccenv_set_toolchain_variables()
ccenv_set_os_dso_exrules
ccenv_set_os_dso_linkage
ccenv_set_os_dso_patterns
+ ccenv_set_os_pe_switches
ccenv_output_defs
ccenv_clean_up
diff --git a/sofort/ccenv/ccenv.vars b/sofort/ccenv/ccenv.vars
index 1d68357..4775b37 100644
--- a/sofort/ccenv/ccenv.vars
+++ b/sofort/ccenv/ccenv.vars
@@ -80,3 +80,7 @@ ccenv_windrc=
# cflags
ccenv_cflags_os=
ccenv_cflags_pic=
+
+# pe
+ccenv_pe_subsystem=
+ccenv_pe_image_base=
diff --git a/sofort/ccenv/pedefs.in b/sofort/ccenv/pedefs.in
new file mode 100644
index 0000000..300d990
--- /dev/null
+++ b/sofort/ccenv/pedefs.in
@@ -0,0 +1,4 @@
+# @ccenv_cfgtype@ pe switches
+PE_SUBSYSTEM = @ccenv_pe_subsystem@
+PE_IMAGE_BASE = @ccenv_pe_image_base@
+
diff --git a/sofort/config/config.vars b/sofort/config/config.vars
index 5cbc0e0..80d8535 100644
--- a/sofort/config/config.vars
+++ b/sofort/config/config.vars
@@ -92,7 +92,6 @@ user_cxx
pe_subsystem
pe_image_base
-pe_config_defs
native_cc
native_cpp
@@ -103,6 +102,9 @@ native_cfghost
native_cflags
native_ldflags
+native_pe_subsystem
+native_pe_image_base
+
all_shared
all_static
disable_frontend