Automake:构建不被安装的共享模块

2023-12-19

如何告诉Automake构建一个不被安装的动态模块?

pkglib_LTLIBRARIES = mywrapper.la
mywrapper_la_LDFLAGS = -no-undefined -module -avoid-version

导致 mywrapper.so 安装到pkglibdir.

noinst_LTLIBRARIES = mywrapper.la
mywrapper_la_LDFLAGS = -no-undefined -module -avoid-version

causes static改为构建便利库。

所讨论的动态模块仅用于运行测试套件,因此不会被分发。


我有同样的问题。这就是我所做的,包括对自己的愤怒评论,以供将来参考:

# The rpath is necessary because stoopid libtool won't build a shared library
# if it's noinst_, because what POSSIBLE reason could you have to do that?
TEST_PLUGIN_LIBTOOL_FLAGS = \
    -module \
    -shared \
    -avoid-version \
    -export-symbols-regex "<whatever symbols you need to export>" \
    -rpath $(abs_builddir)

noinst_LTLIBRARIES = mywrapper.la
mywrapper_la_LDFLAGS = $(TEST_PLUGIN_LIBTOOL_FLAGS)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Automake:构建不被安装的共享模块 的相关文章

  • autoscan、aclocal、automake和autoconf区别【转】

    转自 https blog csdn net renhui1112 article details 96480535 autoscan 扫描源代码以搜寻普通的可移植性问题 比如检查编译器 库 头文件等 生成文件configure scan
  • 使用 pkg-config 宏 PKG_CHECK_MODULES 失败

    我确信这是一个相当简单的问题 我有一个非常简单的configure ac 文件 我用它来学习autoconf 和pkg config 如何协同工作 这confgure ac文件看起来像 AC PREREQ 2 61 AC INIT auto
  • GNU autoconf/automake 的帮助脚本应该放在哪里?

    我正在开发一个将与 GNU autoconf automake 一起分发的项目 并且我有一组调用 awk 脚本的 bash 脚本 我希望 bash 脚本最终出现在 PATH 中 而不是 awk 脚本中 我应该如何将它们插入到项目中 它们应该
  • Automake:构建不被安装的共享模块

    如何告诉Automake构建一个不被安装的动态模块 pkglib LTLIBRARIES mywrapper la mywrapper la LDFLAGS no undefined module avoid version 导致 mywr
  • automake环境变量条件

    我有一个文件 Makefile am 我用来生成 Makefile 在生成的 Makefile 中我想要类似的内容 ifndef SOURCECODEPATH SOURCECODEPATH home root source code pat
  • 为什么构建 liblzma 失败并显示“找不到库”?

    我从他们的网站安装了 mingw 我安装了带有 iconv 和 intl msys 和所有其他东西的开发人员包 I run configure进而make install 链接时 它打印 src liblzma liblzma la lin
  • AM_LDFLAGS 和 LDFLAGS 有什么区别

    我想知道 AM LDFLAGS 和 LDFLAGS 之间有什么区别 因为我遇到了错误 error AM LDFLAGS must be set with before using 当我在 foreach 循环中使用 AM LDFLAGS 时
  • 使用 libtool 从共享库加载重复的函数名

    我正在尝试创建一个 调试 共享库 即 so 或 dll 文件 该库调用另一个具有与调试库相同的 C API 的 真实 共享库 在本例中 是为了模拟 PKCS 11 API 但是 我遇到了麻烦 调试库的链接映射与真实库的链接映射发生冲突 导致
  • Automake - 安装版本“automake-1.14.1”时遇到困难

    我在 Rapbian 2014 09 09 wheezy raspbian 发行版上安装 automake 1 14 1 时遇到问题 我写sh configure然后我写了make然后终端写信给我 make CDPATH ZSH VERSI
  • 使用 Libtool 将静态库强制链接到共享库

    我有一个图书馆 libfoo 编译后的使用libtool分成两个对象 libfoo a 和 libfoo so 我必须创造 使用libtool另外 另一个图书馆 libbar 这将是一个包含所有 libfoo 代码的共享库 libbar s
  • 通过automake检查make中的环境变量

    有没有办法让条件通过 automake 以便稍后将其传递到生成的 Makefile in 和 Makefile 我检查 JAVA HOME 是否在 Makefile 的环境中定义 ifeq undefined origin JAVA HOM
  • 使用 automake 安装包含大量文件的数据目录树

    我有一个数据目录 我希望 automake 为其生成安装和卸载目标 本质上 我只想将此目录逐字复制到 DATA 目录 通常 我可能会单独列出所有文件 例如 dist whatever DATA dir subdir filea 但是当我的目
  • 如何安装和使用libtool共享库(.lo文件)?

    所以在我运行 libtool 并得到一个libfoo lo and foo o来自我的库源的文件 如何转换libfoo lo文件到一个普通的Linux共享库中 比如libfoo so 1 0 0这样我就可以在我的目标系统上安装并链接到它 从
  • 如果 lt_dlopen 失败,如何获取更多信息?

    我正在打电话lt dlopen并收到通用文件未找到错误 翻译后的 errno 文本 我怎样才能获得有关实际失败的更多信息 因为该文件肯定存在 这是一个加载 C 库的 C 程序 在同一个程序的其他地方 我使用相同的命令打开其他库 没有问题 因
  • 如何获取 autoconf configure.ac 中顶级构建目录的绝对路径?

    我正在开发一个项目 该项目需要一个具有自己的 makefile 和 configure ac 的子项目 子项目是用于为主项目生成源文件的程序 有一个选项可以禁用该项目的构建并尝试使用已安装的版本 无论哪种情况 我都会创建一个在 Makefi
  • 使用 -static-libgcc 和 -static-libstdc++ 编译 libconfig++

    我正在尝试编译库配置 http www hyperrealm com libconfig 版本 1 4 8 与 make LDFLAGS static libstdc static libgcc 但这似乎不起作用 因为我仍然得到 reade
  • 如何在 Makefile.am 中指定我想要 C++0x?

    目前我的项目有以下简单的树 Makefile am configure ac README src main cpp src Makefile am bin 我正在尝试遵循以下教程 http www gnu org software aut
  • 安装 PCRE 时出错

    我正在尝试在我的 Ubuntu 11 10 服务器上安装 PCRE 当我运行 make 命令时 我得到一个非常长的输出 它总是以这个错误结束 libtool link cd libs rm f libpcreposix la ln s li
  • 使用 libtool 和 gdb

    我正在开发一个使用 GNU 自动工具的项目 因此为了使用 gdb 调试代码 我从 libtool 中运行 gdb libtool mode execute gdbtui foobar 是否可以重新加载项目的修改版本 而不必退出 gdb li
  • 什么是 Makefile.am 和 Makefile.in?

    这两个文件多出现在开源项目中 它们的用途是什么 它们如何工作 Makefile am是程序员定义的文件 由automake生成Makefile in文件 am代表autom阿克 这configure通常在源 tarball 中看到的脚本将使

随机推荐