On 11/16/2017 5:00 AM, Martin Storsjö wrote:
> This avoids having to use either "dumpbin -headers" to find out
> the current architecture, or pass $ARCH from configure to deduce it.
>
> When configuring with --disable-asm, ARCH is equal to "c", which doesn't
> give any indication of what symbol prefix is to be used.
> ---
> compat/windows/makedef | 28 +---------------------------
> configure | 5 +++--
> 2 files changed, 4 insertions(+), 29 deletions(-)
>
> diff --git a/compat/windows/makedef b/compat/windows/makedef
> index 0cd169c..7258b94 100755
> --- a/compat/windows/makedef
> +++ b/compat/windows/makedef
> @@ -58,33 +58,7 @@ fi
> IFS='
> '
>
> -# Determine if we're building for x86 or x86_64 and
> -# set the symbol prefix accordingly.
> -prefix=""
> -if [ -n "$NM" ]; then
> - case $ARCH in
> - *86)
> - prefix="_"
> - ;;
> - *)
> - ;;
> - esac
> -else
> - arch=$(dumpbin -headers ${libname} |
> - tr '\t' ' ' |
> - grep '^ \+.\+machine \+(.\+)' |
> - head -1 |
> - sed -e 's/^ \{1,\}.\{1,\} \{1,\}machine
> \{1,\}(\(.\{3,5\}\)).*/\1/')
> -
> - if [ "${arch}" = "x86" ]; then
> - prefix="_"
> - else
> - if [ "${arch}" != "ARM" ] && [ "${arch}" != "x64" ] && [ "${arch}"
> != "ARM64" ]; then
> - echo "Unknown machine type." >&2
> - exit 1
> - fi
> - fi
> -fi
> +prefix="$EXTERN_PREFIX"
>
> started=0
> regex="none"
> diff --git a/configure b/configure
> index 3bad7fb..fcffbce 100755
> --- a/configure
> +++ b/configure
> @@ -3898,7 +3898,7 @@ case $target_os in
> SLIB_INSTALL_LINKS=
> SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
> SLIB_INSTALL_EXTRA_LIB='lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
> $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
> - SLIB_CREATE_DEF_CMD='ARCH="$(ARCH)" AR="$(AR_CMD)" NM="$(NM_CMD)"
> $(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) >
> $$(@:$(SLIBSUF)=.def)'
> + SLIB_CREATE_DEF_CMD='EXTERN_PREFIX="$(EXTERN_PREFIX)" AR="$(AR_CMD)"
> NM="$(NM_CMD)" $(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver
> $(OBJS) > $$(@:$(SLIBSUF)=.def)'
> SHFLAGS='-shared
> -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
> -Wl,--enable-auto-image-base $$(@:$(SLIBSUF)=.def)'
> enabled x86_64 && objformat="win64" || objformat="win32"
> ranlib=:
> @@ -3918,7 +3918,7 @@ case $target_os in
> SLIBSUF=".dll"
> SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
> SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
> - SLIB_CREATE_DEF_CMD='$(SRC_PATH)/compat/windows/makedef
> $(SUBDIR)lib$(NAME).ver $(OBJS) > $$(@:$(SLIBSUF)=.def)'
> + SLIB_CREATE_DEF_CMD='EXTERN_PREFIX="$(EXTERN_PREFIX)"
> $(SRC_PATH)/compat/windows/makedef $(SUBDIR)lib$(NAME).ver $(OBJS) >
> $$(@:$(SLIBSUF)=.def)'
> SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
> SLIB_INSTALL_LINKS=
> SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
> @@ -5210,6 +5210,7 @@ SRC_PATH=$source_path
> CC_IDENT=$cc_ident
> ARCH=$arch
> INTRINSICS=$intrinsics
> +EXTERN_PREFIX=$extern_prefix
> CC=$cc
> AS=$as
> OBJCC=$objcc
LGTM.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel