[DO-971] ffmpeg recipe with requirements (!9)

Co-authored-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech>
Reviewed-on: https://git.avroid.tech/Conan/conan_build/pulls/9
This commit is contained in:
Aleksandr Vodyanov
2024-12-25 17:47:28 +03:00
parent e58f90de0e
commit 39afe6a1dd
212 changed files with 9263 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
sources:
"1.17":
url: "https://nexus.avroid.tech/repository/all-raw-proxy-ftp_gnu_org/gnu/libiconv/libiconv-1.17.tar.gz"
sha256: "8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313"
"1.16":
url: "https://nexus.avroid.tech/repository/all-raw-proxy-ftp_gnu_org/gnu/libiconv/libiconv-1.16.tar.gz"
sha256: "e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04"
"1.15":
url: "https://nexus.avroid.tech/repository/all-raw-proxy-ftp_gnu_org/gnu/libiconv/libiconv-1.15.tar.gz"
sha256: "ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178"
patches:
"1.16":
- patch_file: "patches/0001-libcharset-fix-linkage.patch"

View File

@@ -0,0 +1,182 @@
from conan import ConanFile
from conan.tools.apple import fix_apple_shared_install_name
from conan.tools.build import cross_building
from conan.tools.env import VirtualBuildEnv
from conan.tools.files import (
apply_conandata_patches,
copy,
export_conandata_patches,
get,
rename,
rm,
rmdir,
replace_in_file
)
from conan.tools.gnu import Autotools, AutotoolsToolchain
from conan.tools.layout import basic_layout
from conan.tools.microsoft import is_msvc, unix_path
from conan.tools.scm import Version
import os
required_conan_version = ">=1.54.0"
class LibiconvConan(ConanFile):
name = "libiconv"
description = "Convert text to and from Unicode"
license = ("LGPL-2.0-or-later", "LGPL-2.1-or-later")
url = "https://github.com/conan-io/conan-center-index"
homepage = "https://www.gnu.org/software/libiconv/"
topics = ("iconv", "text", "encoding", "locale", "unicode", "conversion")
package_type = "library"
settings = "os", "arch", "compiler", "build_type"
options = {
"shared": [True, False],
"fPIC": [True, False],
}
default_options = {
"shared": False,
"fPIC": True,
}
@property
def _is_clang_cl(self):
return self.settings.compiler == "clang" and self.settings.os == "Windows" and \
self.settings.compiler.get_safe("runtime")
@property
def _msvc_tools(self):
return ("clang-cl", "llvm-lib", "lld-link") if self._is_clang_cl else ("cl", "lib", "link")
@property
def _settings_build(self):
return getattr(self, "settings_build", self.settings)
def export_sources(self):
export_conandata_patches(self)
def config_options(self):
if self.settings.os == "Windows":
del self.options.fPIC
def configure(self):
if self.options.shared:
self.options.rm_safe("fPIC")
self.settings.rm_safe("compiler.libcxx")
self.settings.rm_safe("compiler.cppstd")
if Version(self.version) >= "1.17":
self.license = "LGPL-2.1-or-later"
else:
self.license = "LGPL-2.0-or-later"
def layout(self):
basic_layout(self, src_folder="src")
def build_requirements(self):
if self._settings_build.os == "Windows":
if not self.conf.get("tools.microsoft.bash:path", check_type=str):
self.tool_requires("msys2/cci.latest")
self.win_bash = True
def source(self):
get(self, **self.conan_data["sources"][self.version], strip_root=True)
def generate(self):
env = VirtualBuildEnv(self)
env.generate()
tc = AutotoolsToolchain(self)
if self.settings.os == "Windows" and self.settings.compiler == "gcc":
if self.settings.arch == "x86":
tc.update_configure_args({
"--host": "i686-w64-mingw32",
"RC": "windres --target=pe-i386",
"WINDRES": "windres --target=pe-i386",
})
elif self.settings.arch == "x86_64" and cross_building(self) and self.options.shared:
tc.update_configure_args({
"--host": "x86_64-w64-mingw32",
"RC": "x86_64-w64-mingw32.shared-windres --target=pe-x86-64",
"WINDRES": "x86_64-w64-mingw32.shared-windres --target=pe-x86-64",
})
elif self.settings.arch == "x86_64" and cross_building(self):
tc.update_configure_args({
"--host": "x86_64-w64-mingw32",
"RC": "x86_64-w64-mingw32.static-windres --target=pe-x86-64",
"WINDRES": "x86_64-w64-mingw32.static-windres --target=pe-x86-64",
})
elif self.settings.arch == "x86_64":
tc.update_configure_args({
"--host": "x86_64-w64-mingw32",
"RC": "windres --target=pe-x86-64",
"WINDRES": "windres --target=pe-x86-64",
})
msvc_version = {"Visual Studio": "12", "msvc": "180"}
if is_msvc(self) and Version(self.settings.compiler.version) >= msvc_version[str(self.settings.compiler)]:
# https://github.com/conan-io/conan/issues/6514
tc.extra_cflags.append("-FS")
if cross_building(self) and is_msvc(self):
triplet_arch_windows = {"x86_64": "x86_64", "x86": "i686", "armv8": "aarch64"}
# ICU doesn't like GNU triplet of conan for msvc (see https://github.com/conan-io/conan/issues/12546)
host_arch = triplet_arch_windows.get(str(self.settings.arch))
build_arch = triplet_arch_windows.get(str(self._settings_build.arch))
if host_arch and build_arch:
host = f"{host_arch}-w64-mingw32"
build = f"{build_arch}-w64-mingw32"
tc.configure_args.extend([
f"--host={host}",
f"--build={build}",
])
env = tc.environment()
if is_msvc(self) or self._is_clang_cl:
cc, lib, link = self._msvc_tools
build_aux_path = os.path.join(self.source_folder, "build-aux")
lt_compile = unix_path(self, os.path.join(build_aux_path, "compile"))
lt_ar = unix_path(self, os.path.join(build_aux_path, "ar-lib"))
env.define("CC", f"{lt_compile} {cc} -nologo")
env.define("CXX", f"{lt_compile} {cc} -nologo")
env.define("LD", link)
env.define("STRIP", ":")
env.define("AR", f"{lt_ar} {lib}")
env.define("RANLIB", ":")
env.define("NM", "dumpbin -symbols")
env.define("win32_target", "_WIN32_WINNT_VISTA")
tc.generate(env)
def _apply_resource_patch(self):
if self.settings.arch == "x86":
windres_options_path = os.path.join(self.source_folder, "windows", "windres-options")
self.output.info("Applying {} resource patch: {}".format(self.settings.arch, windres_options_path))
replace_in_file(self, windres_options_path, '# PACKAGE_VERSION_SUBMINOR', '# PACKAGE_VERSION_SUBMINOR\necho "--target=pe-i386"', strict=True)
def build(self):
apply_conandata_patches(self)
self._apply_resource_patch()
autotools = Autotools(self)
autotools.configure()
autotools.make()
def package(self):
copy(self, "COPYING.LIB", self.source_folder, os.path.join(self.package_folder, "licenses"))
autotools = Autotools(self)
autotools.install()
rm(self, "*.la", os.path.join(self.package_folder, "lib"))
rmdir(self, os.path.join(self.package_folder, "share"))
fix_apple_shared_install_name(self)
if (is_msvc(self) or self._is_clang_cl) and self.options.shared:
for import_lib in ["iconv", "charset"]:
rename(self, os.path.join(self.package_folder, "lib", f"{import_lib}.dll.lib"),
os.path.join(self.package_folder, "lib", f"{import_lib}.lib"))
def package_info(self):
self.cpp_info.set_property("cmake_find_mode", "both")
self.cpp_info.set_property("cmake_file_name", "Iconv")
self.cpp_info.set_property("cmake_target_name", "Iconv::Iconv")
self.cpp_info.libs = ["iconv", "charset"]
# TODO: to remove in conan v2
self.cpp_info.names["cmake_find_package"] = "Iconv"
self.cpp_info.names["cmake_find_package_multi"] = "Iconv"
self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))

View File

@@ -0,0 +1,657 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by libcharset configure 1.5, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ /home/aleksandr.vodyanov/.conan2/p/b/libic2832ce1941ef4/b/src/libcharset/configure --disable-option-checking --prefix=/ --disable-shared --enable-static '--bindir=${precludedir=${prefix}/include' CC=x86_64-linux-gnu-gcc-12 'CFLAGS= -m64 -fPIC -O3' 'LDFLAGS= -m64' 'CPPFLAGS= -DNDEBUG' --cache-file=/dev/null --srcdir=/home/aleksandr.vodyanov/.conan2/p/b/libic2832ce1941ef4/b/src/libcharset
## --------- ##
## Platform. ##
## --------- ##
hostname = DL-0153
uname -m = x86_64
uname -r = 6.8.0-49-generic
uname -s = Linux
uname -v = #49-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 4 02:06:24 UTC 2024
/usr/bin/uname -p = x86_64
/bin/uname -X = unknown
/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /home/aleksandr.vodyanov/Documents/Avroid/Conan/venv/bin/
PATH: /usr/local/sbin/
PATH: /usr/local/bin/
PATH: /usr/sbin/
PATH: /usr/bin/
PATH: /sbin/
PATH: /bin/
PATH: /usr/games/
PATH: /usr/local/games/
PATH: /snap/bin/
PATH: /snap/bin/
PATH: /home/aleksandr.vodyanov/.fzf/bin/
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2410: looking for aux files: ltmain.sh config.guess config.sub install-sh
configure:2423: trying /home/aleksandr.vodyanov/.conan2/p/b/libic2832ce1941ef4/b/src/libcharset/build-aux/
configure:2452: /home/aleksandr.vodyanov/.conan2/p/b/libic2832ce1941ef4/b/src/libcharset/build-aux/ltmain.sh found
configure:2452: /home/aleksandr.vodyanov/.conan2/p/b/libic2832ce1941ef4/b/src/libcharset/build-aux/config.guess found
configure:2452: /home/aleksandr.vodyanov/.conan2/p/b/libic2832ce1941ef4/b/src/libcharset/build-aux/config.sub found
configure:2434: /home/aleksandr.vodyanov/.conan2/p/b/libic2832ce1941ef4/b/src/libcharset/build-aux/install-sh found
configure:2567: checking whether make sets $(MAKE)
configure:2590: result: yes
configure:2663: checking for gcc
configure:2695: result: x86_64-linux-gnu-gcc-12
configure:3048: checking for C compiler version
configure:3057: x86_64-linux-gnu-gcc-12 --version >&5
x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-17ubuntu1) 12.3.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:3068: $? = 0
configure:3057: x86_64-linux-gnu-gcc-12 -v >&5
Using built-in specs.
COLLECT_GCC=x86_64-linux-gnu-gcc-12
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 12.3.0-17ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-4qxEZC/gcc-12-12.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-4qxEZC/gcc-12-12.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.3.0 (Ubuntu 12.3.0-17ubuntu1)
... rest of stderr output deleted ...
configure:3068: $? = 0
configure:3057: x86_64-linux-gnu-gcc-12 -V >&5
x86_64-linux-gnu-gcc-12: error: unrecognized command-line option '-V'
x86_64-linux-gnu-gcc-12: fatal error: no input files
compilation terminated.
configure:3068: $? = 1
configure:3057: x86_64-linux-gnu-gcc-12 -qversion >&5
x86_64-linux-gnu-gcc-12: error: unrecognized command-line option '-qversion'; did you mean '--version'?
x86_64-linux-gnu-gcc-12: fatal error: no input files
compilation terminated.
configure:3068: $? = 1
configure:3057: x86_64-linux-gnu-gcc-12 -version >&5
x86_64-linux-gnu-gcc-12: error: unrecognized command-line option '-version'
x86_64-linux-gnu-gcc-12: fatal error: no input files
compilation terminated.
configure:3068: $? = 1
configure:3088: checking whether the C compiler works
configure:3110: x86_64-linux-gnu-gcc-12 -m64 -fPIC -O3 -DNDEBUG -m64 conftest.c >&5
configure:3114: $? = 0
configure:3164: result: yes
configure:3167: checking for C compiler default output file name
configure:3169: result: a.out
configure:3175: checking for suffix of executables
configure:3182: x86_64-linux-gnu-gcc-12 -o conftest -m64 -fPIC -O3 -DNDEBUG -m64 conftest.c >&5
configure:3186: $? = 0
configure:3209: result:
configure:3231: checking whether we are cross compiling
configure:3239: x86_64-linux-gnu-gcc-12 -o conftest -m64 -fPIC -O3 -DNDEBUG -m64 conftest.c >&5
configure:3243: $? = 0
configure:3250: ./conftest
configure:3254: $? = 0
configure:3269: result: no
configure:3274: checking for suffix of object files
configure:3297: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3301: $? = 0
configure:3323: result: o
configure:3327: checking whether the compiler supports GNU C
configure:3347: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3347: $? = 0
configure:3357: result: yes
configure:3368: checking whether x86_64-linux-gnu-gcc-12 accepts -g
configure:3389: x86_64-linux-gnu-gcc-12 -c -g -DNDEBUG conftest.c >&5
configure:3389: $? = 0
configure:3433: result: yes
configure:3453: checking for x86_64-linux-gnu-gcc-12 option to enable C11 features
configure:3468: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3468: $? = 0
configure:3486: result: none needed
configure:3601: checking how to run the C preprocessor
configure:3627: x86_64-linux-gnu-gcc-12 -E -DNDEBUG conftest.c
configure:3627: $? = 0
configure:3642: x86_64-linux-gnu-gcc-12 -E -DNDEBUG conftest.c
conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory
9 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:3642: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libcharset"
| #define PACKAGE_TARNAME "libcharset"
| #define PACKAGE_VERSION "1.5"
| #define PACKAGE_STRING "libcharset 1.5"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:3669: result: x86_64-linux-gnu-gcc-12 -E
configure:3683: x86_64-linux-gnu-gcc-12 -E -DNDEBUG conftest.c
configure:3683: $? = 0
configure:3698: x86_64-linux-gnu-gcc-12 -E -DNDEBUG conftest.c
conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory
9 | #include <ac_nonexistent.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:3698: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libcharset"
| #define PACKAGE_TARNAME "libcharset"
| #define PACKAGE_VERSION "1.5"
| #define PACKAGE_STRING "libcharset 1.5"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:3744: checking for a BSD-compatible install
configure:3817: result: /usr/bin/install -c
configure:3836: checking build system type
configure:3851: result: x86_64-pc-linux-gnu
configure:3871: checking host system type
configure:3885: result: x86_64-pc-linux-gnu
configure:3914: checking for stdio.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for stdlib.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for string.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for inttypes.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for stdint.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for strings.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for sys/stat.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for sys/types.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for unistd.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for wchar.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3914: $? = 0
configure:3914: result: yes
configure:3914: checking for minix/config.h
configure:3914: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
conftest.c:47:10: fatal error: minix/config.h: No such file or directory
47 | #include <minix/config.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.
configure:3914: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "libcharset"
| #define PACKAGE_TARNAME "libcharset"
| #define PACKAGE_VERSION "1.5"
| #define PACKAGE_STRING "libcharset 1.5"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define HAVE_STDIO_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_WCHAR_H 1
| /* end confdefs.h. */
| #include <stddef.h>
| #ifdef HAVE_STDIO_H
| # include <stdio.h>
| #endif
| #ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| #endif
| #ifdef HAVE_STRING_H
| # include <string.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <minix/config.h>
configure:3914: result: no
configure:3945: checking whether it is safe to define __EXTENSIONS__
configure:3964: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3964: $? = 0
configure:3972: result: yes
configure:3975: checking whether _XOPEN_SOURCE should be defined
configure:3997: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:3997: $? = 0
configure:4024: result: no
configure:4134: checking how to print strings
configure:4161: result: printf
configure:4182: checking for a sed that does not truncate output
configure:4252: result: /usr/bin/sed
configure:4270: checking for grep that handles long lines and -e
configure:4334: result: /usr/bin/grep
configure:4339: checking for egrep
configure:4407: result: /usr/bin/grep -E
configure:4412: checking for fgrep
configure:4480: result: /usr/bin/grep -F
configure:4516: checking for ld used by x86_64-linux-gnu-gcc-12
configure:4584: result: /usr/bin/ld
configure:4591: checking if the linker (/usr/bin/ld) is GNU ld
configure:4607: result: yes
configure:4619: checking for BSD- or MS-compatible name lister (nm)
configure:4674: result: /usr/bin/nm -B
configure:4814: checking the name lister (/usr/bin/nm -B) interface
configure:4822: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:4825: /usr/bin/nm -B "conftest.o"
configure:4828: output
0000000000000000 B some_variable
configure:4835: result: BSD nm
configure:4838: checking whether ln -s works
configure:4842: result: yes
configure:4850: checking the maximum length of command line arguments
configure:4982: result: 1572864
configure:5030: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format
configure:5071: result: func_convert_file_noop
configure:5078: checking how to convert x86_64-pc-linux-gnu file names to toolchain format
configure:5099: result: func_convert_file_noop
configure:5106: checking for /usr/bin/ld option to reload object files
configure:5114: result: -r
configure:5193: checking for file
configure:5214: found /usr/bin/file
configure:5225: result: file
configure:5301: checking for objdump
configure:5322: found /usr/bin/objdump
configure:5333: result: objdump
configure:5362: checking how to recognize dependent libraries
configure:5563: result: pass_all
configure:5653: checking for dlltool
configure:5688: result: no
configure:5715: checking how to associate runtime and link libraries
configure:5743: result: printf %s\n
configure:5808: checking for ar
configure:5829: found /usr/bin/ar
configure:5840: result: ar
configure:5893: checking for archiver @FILE support
configure:5911: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:5911: $? = 0
configure:5915: ar cr libconftest.a @conftest.lst >&5
configure:5918: $? = 0
configure:5923: ar cr libconftest.a @conftest.lst >&5
ar: conftest.o: No such file or directory
configure:5926: $? = 1
configure:5938: result: @
configure:6001: checking for strip
configure:6022: found /usr/bin/strip
configure:6033: result: strip
configure:6110: checking for ranlib
configure:6131: found /usr/bin/ranlib
configure:6142: result: ranlib
configure:6219: checking for gawk
configure:6254: result: no
configure:6219: checking for mawk
configure:6240: found /usr/bin/mawk
configure:6251: result: mawk
configure:6291: checking command to parse /usr/bin/nm -B output from x86_64-linux-gnu-gcc-12 object
configure:6445: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:6448: $? = 0
configure:6452: /usr/bin/nm -B conftest.o \| /usr/bin/sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/bin/sed '/ __gnu_lto/d' \> conftest.nm
configure:6455: $? = 0
configure:6521: x86_64-linux-gnu-gcc-12 -o conftest -m64 -fPIC -O3 -DNDEBUG -m64 conftest.c conftstm.o >&5
configure:6524: $? = 0
configure:6562: result: ok
configure:6609: checking for sysroot
configure:6640: result: no
configure:6647: checking for a working dd
configure:6691: result: /usr/bin/dd
configure:6695: checking how to truncate binary pipes
configure:6711: result: /usr/bin/dd bs=4096 count=1
configure:6848: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:6851: $? = 0
configure:7048: checking for mt
configure:7069: found /usr/bin/mt
configure:7080: result: mt
configure:7103: checking if mt is a manifest tool
configure:7110: mt '-?'
configure:7118: result: no
configure:7839: checking for dlfcn.h
configure:7839: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:7839: $? = 0
configure:7839: result: yes
configure:8426: checking for objdir
configure:8442: result: .libs
configure:8706: checking if x86_64-linux-gnu-gcc-12 supports -fno-rtti -fno-exceptions
configure:8725: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG -fno-rtti -fno-exceptions conftest.c >&5
cc1: warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C
configure:8729: $? = 0
configure:8742: result: no
configure:9100: checking for x86_64-linux-gnu-gcc-12 option to produce PIC
configure:9108: result: -fPIC -DPIC
configure:9116: checking if x86_64-linux-gnu-gcc-12 PIC flag -fPIC -DPIC works
configure:9135: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG -fPIC -DPIC -DPIC conftest.c >&5
configure:9139: $? = 0
configure:9152: result: yes
configure:9181: checking if x86_64-linux-gnu-gcc-12 static flag -static works
configure:9210: result: yes
configure:9225: checking if x86_64-linux-gnu-gcc-12 supports -c -o file.o
configure:9247: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG -o out/conftest2.o conftest.c >&5
configure:9251: $? = 0
configure:9273: result: yes
configure:9281: checking if x86_64-linux-gnu-gcc-12 supports -c -o file.o
configure:9329: result: yes
configure:9362: checking whether the x86_64-linux-gnu-gcc-12 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries
configure:10630: result: yes
configure:10871: checking dynamic linker characteristics
configure:11453: x86_64-linux-gnu-gcc-12 -o conftest -m64 -fPIC -O3 -DNDEBUG -m64 -Wl,-rpath -Wl,/foo conftest.c >&5
configure:11453: $? = 0
configure:11692: result: GNU/Linux ld.so
configure:11814: checking how to hardcode library paths into programs
configure:11839: result: immediate
configure:12391: checking whether stripping libraries is possible
configure:12400: result: yes
configure:12442: checking if libtool supports shared libraries
configure:12444: result: yes
configure:12447: checking whether to build shared libraries
configure:12472: result: no
configure:12475: checking whether to build static libraries
configure:12479: result: yes
configure:12540: checking for ld
configure:12671: result: /usr/bin/ld -m elf_x86_64
configure:12678: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld
configure:12694: result: yes
configure:12701: checking 32-bit host C ABI
configure:12768: x86_64-linux-gnu-gcc-12 -c -m64 -fPIC -O3 -DNDEBUG conftest.c >&5
configure:12768: $? = 0
configure:12964: result: no
configure:12970: checking for shared library path variable
configure:12984: result: LD_LIBRARY_PATH
configure:12989: checking whether to activate relocatable installation
configure:13005: result: no
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_build=x86_64-pc-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_env_CC_set=set
ac_cv_env_CC_value=x86_64-linux-gnu-gcc-12
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=' -m64 -fPIC -O3'
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value=' -DNDEBUG'
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=' -m64'
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_LT_SYS_LIBRARY_PATH_set=
ac_cv_env_LT_SYS_LIBRARY_PATH_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_dlfcn_h=yes
ac_cv_header_inttypes_h=yes
ac_cv_header_minix_config_h=no
ac_cv_header_stdint_h=yes
ac_cv_header_stdio_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_header_wchar_h=yes
ac_cv_host=x86_64-pc-linux-gnu
ac_cv_objext=o
ac_cv_path_EGREP='/usr/bin/grep -E'
ac_cv_path_FGREP='/usr/bin/grep -F'
ac_cv_path_GREP=/usr/bin/grep
ac_cv_path_SED=/usr/bin/sed
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_lt_DD=/usr/bin/dd
ac_cv_prog_AWK=mawk
ac_cv_prog_CPP='x86_64-linux-gnu-gcc-12 -E'
ac_cv_prog_ac_ct_AR=ar
ac_cv_prog_ac_ct_CC=x86_64-linux-gnu-gcc-12
ac_cv_prog_ac_ct_FILECMD=file
ac_cv_prog_ac_ct_MANIFEST_TOOL=mt
ac_cv_prog_ac_ct_OBJDUMP=objdump
ac_cv_prog_ac_ct_RANLIB=ranlib
ac_cv_prog_ac_ct_STRIP=strip
ac_cv_prog_cc_c11=
ac_cv_prog_cc_g=yes
ac_cv_prog_cc_stdc=
ac_cv_prog_make_make_set=yes
ac_cv_safe_to_define___extensions__=yes
ac_cv_should_define__xopen_source=no
acl_cv_libpath=LD_LIBRARY_PATH
acl_cv_prog_gnu_ld=yes
acl_cv_shlibpath_var=LD_LIBRARY_PATH
gl_cv_host_cpu_c_abi_32bit=no
lt_cv_ar_at_file=@
lt_cv_deplibs_check_method=pass_all
lt_cv_file_magic_cmd='$MAGIC_CMD'
lt_cv_file_magic_test_file=
lt_cv_ld_reload_flag=-r
lt_cv_nm_interface='BSD nm'
lt_cv_objdir=.libs
lt_cv_path_LD=/usr/bin/ld
lt_cv_path_NM='/usr/bin/nm -B'
lt_cv_path_mainfest_tool=no
lt_cv_prog_compiler_c_o=yes
lt_cv_prog_compiler_pic='-fPIC -DPIC'
lt_cv_prog_compiler_pic_works=yes
lt_cv_prog_compiler_rtti_exceptions=no
lt_cv_prog_compiler_static_works=yes
lt_cv_prog_gnu_ld=yes
lt_cv_sharedlib_from_linklib_cmd='printf %s\n'
lt_cv_shlibpath_overrides_runpath=yes
lt_cv_sys_global_symbol_pipe='/usr/bin/sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | /usr/bin/sed '\''/ __gnu_lto/d'\'''
lt_cv_sys_global_symbol_to_c_name_address='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\'''
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\'''
lt_cv_sys_global_symbol_to_cdecl='/usr/bin/sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
lt_cv_sys_global_symbol_to_import=
lt_cv_sys_max_cmd_len=1572864
lt_cv_to_host_file_cmd=func_convert_file_noop
lt_cv_to_tool_file_cmd=func_convert_file_noop
lt_cv_truncate_bin='/usr/bin/dd bs=4096 count=1'
## ----------------- ##
## Output variables. ##
## ----------------- ##
AR='ar'
AS='as'
AWK='mawk'
CC='x86_64-linux-gnu-gcc-12'
CFLAGS=' -m64 -fPIC -O3'
CFLAG_VISIBILITY=''
CPP='x86_64-linux-gnu-gcc-12 -E'
CPPFLAGS=' -DNDEBUG'
DEFS=''
DLLTOOL='false'
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
EXEEXT=''
FGREP='/usr/bin/grep -F'
FILECMD='file'
GREP='/usr/bin/grep'
HAVE_VISIBILITY=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_PROGRAM_ENV=''
INSTALL_SCRIPT='${INSTALL}'
LD='/usr/bin/ld -m elf_x86_64'
LDFLAGS=' -m64'
LIBOBJS=''
LIBS=''
LIBTOOL='/bin/sh $(top_builddir)/libtool'
LIPO=''
LN_S='ln -s'
LTLIBOBJS=''
LT_SYS_LIBRARY_PATH=''
MANIFEST_TOOL=':'
NM='/usr/bin/nm -B'
NMEDIT=''
OBJDUMP='objdump'
OBJEXT='o'
OTOOL64=''
OTOOL=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME='libcharset'
PACKAGE_STRING='libcharset 1.5'
PACKAGE_TARNAME='libcharset'
PACKAGE_URL=''
PACKAGE_VERSION='1.5'
PATH_SEPARATOR=':'
RANLIB='ranlib'
RELOCATABLE='no'
RELOCATABLE_BUILD_DIR=''
RELOCATABLE_CONFIG_H_DIR=''
RELOCATABLE_LDFLAGS=''
RELOCATABLE_LIBRARY_PATH=''
RELOCATABLE_SRC_DIR=''
RELOCATABLE_STRIP=''
RELOCATABLE_VIA_LD_FALSE=''
RELOCATABLE_VIA_LD_TRUE=''
RELOCATABLE_VIA_WRAPPER_FALSE=''
RELOCATABLE_VIA_WRAPPER_TRUE=''
SED='/usr/bin/sed'
SET_MAKE=''
SHELL='/bin/sh'
STRIP='strip'
ac_ct_AR='ar'
ac_ct_CC='x86_64-linux-gnu-gcc-12'
ac_ct_DUMPBIN=''
bindir='${precludedir=${prefix}/include'
build='x86_64-pc-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host='x86_64-pc-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='pc'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='/'
program_transform_name='s,x,x,'
psdir='${docdir}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "libcharset"
#define PACKAGE_TARNAME "libcharset"
#define PACKAGE_VERSION "1.5"
#define PACKAGE_STRING "libcharset 1.5"
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
#define HAVE_STDIO_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_STRINGS_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
#define HAVE_WCHAR_H 1
#define STDC_HEADERS 1
#define _ALL_SOURCE 1
#define _DARWIN_C_SOURCE 1
#define _GNU_SOURCE 1
#define _HPUX_ALT_XOPEN_SOCKET_API 1
#define _NETBSD_SOURCE 1
#define _OPENBSD_SOURCE 1
#define _POSIX_PTHREAD_SEMANTICS 1
#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
#define __STDC_WANT_IEC_60559_BFP_EXT__ 1
#define __STDC_WANT_IEC_60559_DFP_EXT__ 1
#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
#define __STDC_WANT_LIB_EXT2__ 1
#define __STDC_WANT_MATH_SPEC_FUNCS__ 1
#define _TANDEM_SOURCE 1
#define __EXTENSIONS__ 1
#define HAVE_DLFCN_H 1
#define LT_OBJDIR ".libs/"
configure: exit 2

View File

@@ -0,0 +1,155 @@
diff --git a/libcharset/Makefile.in b/libcharset/Makefile.in
index 5f599fe..e6ba91a 100644
--- a/libcharset/Makefile.in
+++ b/libcharset/Makefile.in
@@ -30,25 +30,22 @@ mkinstalldirs = $(SHELL) @top_srcdir@/build-aux/mkinstalldirs
SHELL = @SHELL@
-all : include/libcharset.h force
+all : force
cd lib && $(MAKE) all
-include/libcharset.h :
- if [ ! -d include ] ; then mkdir include ; fi
- $(CP) $(srcdir)/include/libcharset.h.in include/libcharset.h
-
# Installs the library and include files only. Typically called with only
# $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here.
install-lib : all force
cd lib && $(MAKE) install-lib libdir='$(libdir)' includedir='$(includedir)'
$(mkinstalldirs) $(includedir)
- $(INSTALL_DATA) include/libcharset.h $(includedir)/libcharset.h
- $(INSTALL_DATA) include/localcharset.h.inst $(includedir)/localcharset.h
+ $(INSTALL_DATA) include/libcharset.h.inst $(includedir)/libcharset.h
+# Here, use the include file that contains LIBCHARSET_DLL_EXPORTED annotations.
+ $(INSTALL_DATA) include/localcharset.h $(includedir)/localcharset.h
-install : include/libcharset.h include/localcharset.h force
+install : all force
cd lib && $(MAKE) install prefix='$(prefix)' exec_prefix='$(exec_prefix)' libdir='$(libdir)'
$(mkinstalldirs) $(DESTDIR)$(includedir)
- $(INSTALL_DATA) include/libcharset.h $(DESTDIR)$(includedir)/libcharset.h
+ $(INSTALL_DATA) include/libcharset.h.inst $(DESTDIR)$(includedir)/libcharset.h
$(INSTALL_DATA) include/localcharset.h.inst $(DESTDIR)$(includedir)/localcharset.h
install-strip : install
@@ -73,12 +70,12 @@ clean : force
distclean : force
cd lib && if test -f Makefile; then $(MAKE) distclean; fi
- $(RM) include/libcharset.h include/localcharset.h include/localcharset.h.inst
+ $(RM) include/libcharset.h include/libcharset.h.inst include/localcharset.h include/localcharset.h.inst
$(RM) config.status config.log config.cache Makefile config.h libtool
maintainer-clean : force
cd lib && if test -f Makefile; then $(MAKE) maintainer-clean; fi
- $(RM) include/libcharset.h include/localcharset.h include/localcharset.h.inst
+ $(RM) include/libcharset.h include/libcharset.h.inst include/localcharset.h include/localcharset.h.inst
$(RM) config.status config.log config.cache Makefile config.h libtool
# List of source files.
@@ -133,6 +130,7 @@ IMPORTED_FILES = \
# List of distributed files generated by autotools or Makefile.devel.
GENERATED_FILES = \
autoconf/aclocal.m4 configure config.h.in \
+ include/libcharset.h.build.in \
include/localcharset.h.build.in
# List of distributed files generated by "make".
DISTRIBUTED_BUILT_FILES =
diff --git a/libcharset/configure b/libcharset/configure
index cf4f9d2..8844aca 100755
--- a/libcharset/configure
+++ b/libcharset/configure
@@ -12346,6 +12346,10 @@ ac_config_files="$ac_config_files Makefile"
ac_config_files="$ac_config_files lib/Makefile"
+ac_config_files="$ac_config_files include/libcharset.h:include/libcharset.h.build.in"
+
+ac_config_files="$ac_config_files include/libcharset.h.inst:include/libcharset.h.in"
+
ac_config_files="$ac_config_files include/localcharset.h:include/localcharset.h.build.in"
ac_config_files="$ac_config_files include/localcharset.h.inst:include/localcharset.h.in"
@@ -13346,6 +13350,8 @@ do
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
+ "include/libcharset.h") CONFIG_FILES="$CONFIG_FILES include/libcharset.h:include/libcharset.h.build.in" ;;
+ "include/libcharset.h.inst") CONFIG_FILES="$CONFIG_FILES include/libcharset.h.inst:include/libcharset.h.in" ;;
"include/localcharset.h") CONFIG_FILES="$CONFIG_FILES include/localcharset.h:include/localcharset.h.build.in" ;;
"include/localcharset.h.inst") CONFIG_FILES="$CONFIG_FILES include/localcharset.h.inst:include/localcharset.h.in" ;;
diff --git a/libcharset/configure.ac b/libcharset/configure.ac
index 362bde3..a071d25 100644
--- a/libcharset/configure.ac
+++ b/libcharset/configure.ac
@@ -60,6 +60,8 @@ AC_CHECK_FUNCS([setlocale])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([lib/Makefile])
+AC_CONFIG_FILES([include/libcharset.h:include/libcharset.h.build.in])
+AC_CONFIG_FILES([include/libcharset.h.inst:include/libcharset.h.in])
AC_CONFIG_FILES([include/localcharset.h:include/localcharset.h.build.in])
AC_CONFIG_FILES([include/localcharset.h.inst:include/localcharset.h.in])
AC_OUTPUT
diff --git a/libcharset/include/libcharset.h.build.in b/libcharset/include/libcharset.h.build.in
new file mode 100644
index 0000000..46e911a
--- /dev/null
+++ b/libcharset/include/libcharset.h.build.in
@@ -0,0 +1,53 @@
+/* Copyright (C) 2003 Free Software Foundation, Inc.
+ This file is part of the GNU CHARSET Library.
+
+ The GNU CHARSET Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU CHARSET Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with the GNU CHARSET Library; see the file COPYING.LIB. If not,
+ see <https://www.gnu.org/licenses/>. */
+
+#ifndef _LIBCHARSET_H
+#define _LIBCHARSET_H
+
+#if @HAVE_VISIBILITY@ && BUILDING_LIBCHARSET
+#define LIBCHARSET_DLL_EXPORTED __attribute__((__visibility__("default")))
+#elif defined _MSC_VER && BUILDING_LIBCHARSET
+#define LIBCHARSET_DLL_EXPORTED __declspec(dllexport)
+#else
+#define LIBCHARSET_DLL_EXPORTED
+#endif
+
+#include <localcharset.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Support for relocatable packages. */
+
+/* Sets the original and the current installation prefix of the package.
+ Relocation simply replaces a pathname starting with the original prefix
+ by the corresponding pathname with the current prefix instead. Both
+ prefixes should be directory names without trailing slash (i.e. use ""
+ instead of "/"). */
+extern LIBCHARSET_DLL_EXPORTED void libcharset_set_relocation_prefix (const char *orig_prefix,
+ const char *curr_prefix);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _LIBCHARSET_H */

View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 3.1)
project(test_package C)
find_package(Iconv REQUIRED)
add_executable(${PROJECT_NAME} test_package.c)
target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv)

View File

@@ -0,0 +1,27 @@
import os
from conan import ConanFile
from conan.tools.build import can_run
from conan.tools.cmake import CMake, cmake_layout
class TestPackageConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
test_type = "explicit"
def requirements(self):
self.requires(self.tested_reference_str)
def layout(self):
cmake_layout(self)
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def test(self):
if can_run(self):
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
self.run(bin_path, env="conanrun")

View File

@@ -0,0 +1,50 @@
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h> //for EXIT_FAILURE
#include <locale.h>
#if _MSC_VER && _MSC_VER < 1600
typedef unsigned __int32 uint32_t;
#else
#include <stdint.h>
#endif
#include "iconv.h"
#include "libcharset.h"
int main()
{
// Test libiconv
char in_bytes[4] = {'c', 'i', 'a', 'o'};
char *in_buffer = (char *)&in_bytes;
size_t in_bytes_left = sizeof(char) * 4;
uint32_t ou_bytes[4] = {(uint32_t)-1, (uint32_t)-1, (uint32_t)-1, (uint32_t)-1};
size_t ou_bytes_left = sizeof(uint32_t) * 4;
char *ou_buffer = (char *)&ou_bytes;
iconv_t context;
size_t rv;
context = iconv_open("UCS-4-INTERNAL", "US-ASCII");
if ((iconv_t)(-1) == context)
{
fprintf(stderr, "iconv_open failed\n");
return EXIT_FAILURE;
}
rv = iconv(context, &in_buffer, &in_bytes_left, &ou_buffer, &ou_bytes_left);
if ((size_t)(-1) == rv)
{
fprintf(stderr, "icon failed\n");
return EXIT_FAILURE;
}
printf("retval libiconv: %lu %u %u %u %u\n", rv, ou_bytes[0], ou_bytes[1], ou_bytes[2], ou_bytes[3]);
iconv_close(context);
// Test libcharset
setlocale(LC_ALL, "");
printf("retval libcharset: %s\n", locale_charset());
return EXIT_SUCCESS;
}

View File

@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 3.1)
project(test_package)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package
${CMAKE_CURRENT_BINARY_DIR}/test_package)

View File

@@ -0,0 +1,16 @@
from conans import ConanFile, CMake, tools
import os
class TestPackageConan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
generators = "cmake", "cmake_find_package"
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def test(self):
if not tools.cross_building(self):
self.run(os.path.join("bin", "test_package"), run_environment=True)

View File

@@ -0,0 +1,7 @@
versions:
"1.17":
folder: all
"1.16":
folder: all
"1.15":
folder: all