autotools精简二(生成libxml2静态库)

本文介绍了如何使用autotools精简构建过程,以生成libxml2的静态库。通过调整Makefile.am文件,去除libtool的支持,删除不需要的文件声明,并设置环境变量,然后执行autogen.sh和make命令来构建静态库。

下面是探讨精简的过程(若不精简,因为AC_PROG_LIBTOOL 会自动生成`--enable-shared'`--enable-static',也可生成静态库

一、Makefile.am制作过程

1)从原始am文件提取要生成的目标和依赖关系,生成新的Makefile.am


 使用awk进行提取:awk ' {if((NR >= 18&& NR <=43)||(NR>=1137&&NR<=1140)||(NR==7))print $0}' Makefile.am.ori > Makefile.am
 生成的Makefile.am源码
 cat Makefile.am
 INCLUDES = -I$(top_builddir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ 
lib_LTLIBRARIES = libxml2.la
libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@


libxml2_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -version-info @LIBXML_VERSION_INFO@ @MODULE_PLATFORM_LIBS@


if WITH_TRIO_SOURCES
libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
                parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
                valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
                xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
                catalog.c globals.c threads.c c14n.c xmlstring.c \
                xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
                tri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值