Kaydet (Commit) 83d61d9f authored tarafından Peter Foley's avatar Peter Foley Kaydeden (comit) Fridrich Strba

move liblangtag to gcc-wrapper

Change-Id: I4aefdc9475b7fbd4206d8d9862ca8d399360a37e
Reviewed-on: https://gerrit.libreoffice.org/2717Reviewed-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
Tested-by: 's avatarFridrich Strba <fridrich@documentfoundation.org>
üst e6a877f8
...@@ -11,6 +11,10 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,langtag,langtag)) ...@@ -11,6 +11,10 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,langtag,langtag))
$(eval $(call gb_ExternalPackage_use_external_project,langtag,langtag)) $(eval $(call gb_ExternalPackage_use_external_project,langtag,langtag))
ifeq ($(COM),MSC)
$(eval $(call gb_ExternalPackage_add_file,langtag,lib/langtag.lib,liblangtag/.libs/liblangtag.lib))
else
$(eval $(call gb_ExternalPackage_add_file,langtag,lib/liblangtag.a,liblangtag/.libs/liblangtag.a)) $(eval $(call gb_ExternalPackage_add_file,langtag,lib/liblangtag.a,liblangtag/.libs/liblangtag.a))
endif
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
...@@ -10,8 +10,11 @@ ...@@ -10,8 +10,11 @@
$(eval $(call gb_ExternalProject_ExternalProject,langtag)) $(eval $(call gb_ExternalProject_ExternalProject,langtag))
$(eval $(call gb_ExternalProject_use_unpacked,langtag,langtag)) $(eval $(call gb_ExternalProject_use_unpacked,langtag,langtag))
$(eval $(call gb_ExternalProject_use_external,langtag,libxml2)) $(eval $(call gb_ExternalProject_use_external,langtag,libxml2))
$(eval $(call gb_ExternalProject_use_autoconf,langtag,build))
$(eval $(call gb_ExternalProject_register_targets,langtag,\ $(eval $(call gb_ExternalProject_register_targets,langtag,\
build \ build \
)) ))
...@@ -21,7 +24,7 @@ $(call gb_ExternalProject_get_state_target,langtag,build): ...@@ -21,7 +24,7 @@ $(call gb_ExternalProject_get_state_target,langtag,build):
./configure --disable-modules --disable-test --disable-introspection --disable-shared --enable-static --with-pic \ ./configure --disable-modules --disable-test --disable-introspection --disable-shared --enable-static --with-pic \
$(if $(filter TRUE,$(HAVE_GCC_BUILTIN_ATOMIC)),"lt_cv_has_atomic=yes","lt_cv_has_atomic=no") \ $(if $(filter TRUE,$(HAVE_GCC_BUILTIN_ATOMIC)),"lt_cv_has_atomic=yes","lt_cv_has_atomic=no") \
$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
$(if $(filter NO,$(SYSTEM_LIBXML)),LIBXML2_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,xml2)/include",\ $(if $(filter NO,$(SYSTEM_LIBXML)),LIBXML2_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,xml2)/include" LIBXML2_LIBS=" ",\
$(if $(filter MACOSX,$(OS)),LIBXML2_CFLAGS="$(LIBXML_CFLAGS)" LIBXML2_LIBS="$(LIBXML_LIBS)")) \ $(if $(filter MACOSX,$(OS)),LIBXML2_CFLAGS="$(LIBXML_CFLAGS)" LIBXML2_LIBS="$(LIBXML_LIBS)")) \
$(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \
$(if $(filter-out LINUX FREEBSD,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath,\\"\$$\$$ORIGIN:'\'\$$\$$ORIGIN/../ure-link/lib) \ $(if $(filter-out LINUX FREEBSD,$(OS)),,LDFLAGS="-Wl$(COMMA)-z$(COMMA)origin -Wl$(COMMA)-rpath,\\"\$$\$$ORIGIN:'\'\$$\$$ORIGIN/../ure-link/lib) \
......
...@@ -15,20 +15,11 @@ ifeq ($(SYSTEM_LIBLANGTAG),NO) ...@@ -15,20 +15,11 @@ ifeq ($(SYSTEM_LIBLANGTAG),NO)
$(eval $(call gb_Module_add_targets,liblangtag,\ $(eval $(call gb_Module_add_targets,liblangtag,\
UnpackedTarball_langtag \ UnpackedTarball_langtag \
ExternalPackage_langtag_data \ ExternalPackage_langtag_data \
Zip_liblangtag_data \
))
ifeq ($(COM),MSC)
$(eval $(call gb_Module_add_targets,liblangtag,\
StaticLibrary_langtag \
))
else
$(eval $(call gb_Module_add_targets,liblangtag,\
ExternalPackage_langtag \ ExternalPackage_langtag \
ExternalProject_langtag \ ExternalProject_langtag \
Zip_liblangtag_data \
)) ))
endif endif
endif endif
endif
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_StaticLibrary_StaticLibrary,langtag))
$(eval $(call gb_StaticLibrary_set_warnings_not_errors,langtag))
$(eval $(call gb_StaticLibrary_use_unpacked,langtag,langtag))
$(eval $(call gb_StaticLibrary_use_external,langtag,libxml2))
$(eval $(call gb_StaticLibrary_set_include,langtag,\
$$(INCLUDE) \
-I$(call gb_UnpackedTarball_get_dir,langtag) \
-I$(call gb_UnpackedTarball_get_dir,langtag)/liblangtag \
))
# Hardcoded for MSVC
$(eval $(call gb_StaticLibrary_add_defs,langtag,\
-D__LANGTAG_COMPILATION \
-DREGDATADIR \
-DLT_HAVE___INLINE \
-DLT_CAN_INLINE \
-DALIGNOF_VOID_P=4 \
))
$(eval $(call gb_StaticLibrary_add_generated_cobjects,langtag,\
UnpackedTarball/langtag/liblangtag/lt-database \
UnpackedTarball/langtag/liblangtag/lt-error \
UnpackedTarball/langtag/liblangtag/lt-ext-module \
UnpackedTarball/langtag/liblangtag/lt-ext-module-data \
UnpackedTarball/langtag/liblangtag/lt-extension \
UnpackedTarball/langtag/liblangtag/lt-extlang \
UnpackedTarball/langtag/liblangtag/lt-extlang-db \
UnpackedTarball/langtag/liblangtag/lt-grandfathered \
UnpackedTarball/langtag/liblangtag/lt-grandfathered-db \
UnpackedTarball/langtag/liblangtag/lt-lang \
UnpackedTarball/langtag/liblangtag/lt-lang-db \
UnpackedTarball/langtag/liblangtag/lt-list \
UnpackedTarball/langtag/liblangtag/lt-mem \
UnpackedTarball/langtag/liblangtag/lt-messages \
UnpackedTarball/langtag/liblangtag/lt-redundant \
UnpackedTarball/langtag/liblangtag/lt-redundant-db \
UnpackedTarball/langtag/liblangtag/lt-region \
UnpackedTarball/langtag/liblangtag/lt-region-db \
UnpackedTarball/langtag/liblangtag/lt-script \
UnpackedTarball/langtag/liblangtag/lt-script-db \
UnpackedTarball/langtag/liblangtag/lt-string \
UnpackedTarball/langtag/liblangtag/lt-tag \
UnpackedTarball/langtag/liblangtag/lt-trie \
UnpackedTarball/langtag/liblangtag/lt-utils \
UnpackedTarball/langtag/liblangtag/lt-variant \
UnpackedTarball/langtag/liblangtag/lt-variant-db \
UnpackedTarball/langtag/liblangtag/lt-xml \
))
$(eval $(call gb_StaticLibrary_add_generated_cobjects,langtag,\
UnpackedTarball/langtag/extensions/lt-ext-ldml-t \
, -DLT_MODULE_PREFIX=lt_module_ext_t \
))
$(eval $(call gb_StaticLibrary_add_generated_cobjects,langtag,\
UnpackedTarball/langtag/extensions/lt-ext-ldml-u \
, -DLT_MODULE_PREFIX=lt_module_ext_u \
))
# vim: set noet sw=4 ts=4:
...@@ -48,9 +48,17 @@ $(eval $(call gb_UnpackedTarball_add_patches,langtag,\ ...@@ -48,9 +48,17 @@ $(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-mingw.patch \ liblangtag/liblangtag-0.4.0-mingw.patch \
)) ))
else else
# liblangtag-0.4.0-ar-lib.patch and ar-lib are addressed upstream as
# <https://bitbucket.org/tagoh/liblangtag/issue/1>
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\ $(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-msc-configure.patch \ liblangtag/liblangtag-0.4.0-msc-configure.patch \
liblangtag/liblangtag-0.4.0-cross.patch \ liblangtag/liblangtag-0.4.0-cross.patch \
liblangtag/liblangtag-0.4.0-ar-lib.patch \
))
$(eval $(call gb_UnpackedTarball_add_files,langtag,,\
liblangtag/ar-lib \
)) ))
endif endif
endif endif
......
#! /bin/sh
# Wrapper for Microsoft lib.exe
me=ar-lib
scriptversion=2012-03-01.08; # UTC
# Copyright (C) 2010, 2012 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
# func_error message
func_error ()
{
echo "$me: $1" 1>&2
exit 1
}
file_conv=
# func_file_conv build_file
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv in
mingw)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin)
file=`cygpath -m "$file" || echo "$file"`
;;
wine)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_at_file at_file operation archive
# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
# for each of them.
# When interpreting the content of the @FILE, do NOT use func_file_conv,
# since the user would need to supply preconverted file names to
# binutils ar, at least for MinGW.
func_at_file ()
{
operation=$2
archive=$3
at_file_contents=`cat "$1"`
eval set x "$at_file_contents"
shift
for member
do
$AR -NOLOGO $operation:"$member" "$archive" || exit $?
done
}
case $1 in
'')
func_error "no command. Try '$0 --help' for more information."
;;
-h | --h*)
cat <<EOF
Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
Members may be specified in a file named with @FILE.
EOF
exit $?
;;
-v | --v*)
echo "$me, version $scriptversion"
exit $?
;;
esac
if test $# -lt 3; then
func_error "you must specify a program, an action and an archive"
fi
AR=$1
shift
while :
do
if test $# -lt 2; then
func_error "you must specify a program, an action and an archive"
fi
case $1 in
-lib | -LIB \
| -ltcg | -LTCG \
| -machine* | -MACHINE* \
| -subsystem* | -SUBSYSTEM* \
| -verbose | -VERBOSE \
| -wx* | -WX* )
AR="$AR $1"
shift
;;
*)
action=$1
shift
break
;;
esac
done
orig_archive=$1
shift
func_file_conv "$orig_archive"
archive=$file
# strip leading dash in $action
action=${action#-}
delete=
extract=
list=
quick=
replace=
index=
create=
while test -n "$action"
do
case $action in
d*) delete=yes ;;
x*) extract=yes ;;
t*) list=yes ;;
q*) quick=yes ;;
r*) replace=yes ;;
s*) index=yes ;;
S*) ;; # the index is always updated implicitly
c*) create=yes ;;
u*) ;; # TODO: don't ignore the update modifier
v*) ;; # TODO: don't ignore the verbose modifier
*)
func_error "unknown action specified"
;;
esac
action=${action#?}
done
case $delete$extract$list$quick$replace,$index in
yes,* | ,yes)
;;
yesyes*)
func_error "more than one action specified"
;;
*)
func_error "no action specified"
;;
esac
if test -n "$delete"; then
if test ! -f "$orig_archive"; then
func_error "archive not found"
fi
for member
do
case $1 in
@*)
func_at_file "${1#@}" -REMOVE "$archive"
;;
*)
func_file_conv "$1"
$AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
;;
esac
done
elif test -n "$extract"; then
if test ! -f "$orig_archive"; then
func_error "archive not found"
fi
if test $# -gt 0; then
for member
do
case $1 in
@*)
func_at_file "${1#@}" -EXTRACT "$archive"
;;
*)
func_file_conv "$1"
$AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
;;
esac
done
else
$AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
do
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
done
fi
elif test -n "$quick$replace"; then
if test ! -f "$orig_archive"; then
if test -z "$create"; then
echo "$me: creating $orig_archive"
fi
orig_archive=
else
orig_archive=$archive
fi
for member
do
case $1 in
@*)
func_file_conv "${1#@}"
set x "$@" "@$file"
;;
*)
func_file_conv "$1"
set x "$@" "$file"
;;
esac
shift
shift
done
if test -n "$orig_archive"; then
$AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
else
$AR -NOLOGO -OUT:"$archive" "$@" || exit $?
fi
elif test -n "$list"; then
if test ! -f "$orig_archive"; then
func_error "archive not found"
fi
$AR -NOLOGO -LIST "$archive" || exit $?
fi
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment