view src/build-msvctools/lt-postproc @ 5531:eae508c12529

Add build rule for build-octave (bug #49503). * src/build-octave.mk: Add new build rule for build-octave which can be used for cross-building binary packages that depend on Octave as a build tool. * dist-files.mk: Add new file to list. * index.html: Add new package to list. * src/of-communications.mk, src/of-image.mk, src/of-mapping.mk, src/of-optiminterp.mk, src/of-sparsersb.mk, src/of-statistics.mk, src/of-windows.mk: Add optional dependency on build-octave. * configure.ac: Add new configure switch "--disable-system-octave" that is needed to build the build-octave package. * Makefile.in: Add variable "USE_SYSTEM_OCTAVE". Exclude build-octave from the default build tools and build it only if a package explicitly depends on it. Display warning about missing native Octave version only if necessary.
author Markus Mützel <markus.muetzel@gmx.de>
date Tue, 08 Sep 2020 23:04:38 +0200
parents 36ac78f420b4
children
line wrap: on
line source

#!/bin/bash

prefix=
suffix=
no_auto_export=false

while getopts ":p:s:x" opt; do
	case $opt in
		s) suffix="$OPTARG" ;;
		p) prefix="$OPTARG" ;;
		x) no_auto_export=true ;;
	esac
done
shift $((OPTIND-1))

if [ "$1" = "" ]; then
	libtool_files=`find . -name libtool`
else
	libtool_files="$@"
fi

SED_ARGS=
if $no_auto_export; then
	SED_ARGS="$SED_ARGS -e s/^always_export_symbols=.*/always_export_symbols=/"
fi

for ltfile in $libtool_files; do
	sed -i \
		-e "s/^soname_spec=\"\\(.*\\)\\\${shared_ext}\"/soname_spec=\"$prefix\\1$suffix\\\${shared_ext}\"/" \
		-e "s/\.dll\.lib/\.lib/" \
		-e "s/^\(deplibs_check_method\)=.*/\1=\"pass_all\"/" \
		-e "s/-link\\>//" \
		-e '/^archive_cmds=/ { s/-Wl,-dll~/-Wl,-dll,-IMPLIB:\\\\\\"\\$tool_output_objdir\\$libname.lib\\\\\\"~/; }' \
		$SED_ARGS \
		$ltfile
done