]> wimlib.net Git - wimlib/blobdiff - Makefile.am
Use dynamically-sized path buffer when scanning files
[wimlib] / Makefile.am
index 6c41eb5ae0e3a6aed6480fb28d702f09f71e2b96..8d0b6cfecc72b4fb5d80bcd1cfeb9828f71100b9 100644 (file)
@@ -17,9 +17,9 @@ AM_CFLAGS     = -std=gnu99 $(PLATFORM_CFLAGS) -fno-common     \
 
 AM_LDFLAGS     = $(PLATFORM_LDFLAGS)
 
-EXTRA_DIST     = README README.WINDOWS                         \
-                 COPYING COPYING.GPLv3 COPYING.LGPLv3          \
-                 examples                                      \
+EXTRA_DIST     = README README.WINDOWS                                 \
+                 COPYING COPYING.GPLv3 COPYING.LGPLv3 COPYING.CC0      \
+                 examples                                              \
                  archlinux debian rpm
 
 ##############################################################################
@@ -37,7 +37,6 @@ libwim_la_SOURCES =           \
        src/add_image.c         \
        src/avl_tree.c          \
        src/blob_table.c        \
-       src/capture_common.c    \
        src/compress.c          \
        src/compress_common.c   \
        src/compress_parallel.c \
@@ -72,13 +71,15 @@ libwim_la_SOURCES =         \
        src/paths.c             \
        src/pattern.c           \
        src/progress.c          \
-       src/resource.c          \
        src/reference.c         \
+       src/registry.c          \
+       src/reparse.c           \
+       src/resource.c          \
+       src/scan.c              \
        src/security.c          \
        src/sha1.c              \
        src/solid.c             \
        src/split.c             \
-       src/reparse.c           \
        src/tagged_items.c      \
        src/template.c          \
        src/textfile.c          \
@@ -90,6 +91,7 @@ libwim_la_SOURCES =           \
        src/write.c             \
        src/x86_cpu_features.c  \
        src/xml.c               \
+       src/xml_windows.c       \
        src/xpress_compress.c   \
        src/xpress_decompress.c \
        include/wimlib/alloca.h         \
@@ -99,10 +101,8 @@ libwim_la_SOURCES =         \
        include/wimlib/bitops.h         \
        include/wimlib/blob_table.h     \
        include/wimlib/bt_matchfinder.h \
-       include/wimlib/capture.h        \
        include/wimlib/case.h           \
        include/wimlib/compiler.h       \
-       include/wimlib/compiler-gcc.h   \
        include/wimlib/compressor_ops.h \
        include/wimlib/compress_common.h        \
        include/wimlib/chunk_compressor.h       \
@@ -129,20 +129,21 @@ libwim_la_SOURCES =               \
        include/wimlib/lzms_constants.h \
        include/wimlib/lzx_common.h     \
        include/wimlib/lzx_constants.h  \
-       include/wimlib/matchfinder_avx2.h       \
-       include/wimlib/matchfinder_common.h     \
-       include/wimlib/matchfinder_sse2.h       \
        include/wimlib/metadata.h       \
+       include/wimlib/object_id.h      \
        include/wimlib/pathlist.h       \
        include/wimlib/paths.h          \
        include/wimlib/pattern.h        \
        include/wimlib/progress.h       \
+       include/wimlib/registry.h       \
        include/wimlib/reparse.h        \
        include/wimlib/resource.h       \
+       include/wimlib/scan.h           \
        include/wimlib/security.h       \
        include/wimlib/security_descriptor.h    \
        include/wimlib/sha1.h           \
        include/wimlib/solid.h          \
+       include/wimlib/tagged_items.h   \
        include/wimlib/textfile.h       \
        include/wimlib/timestamp.h      \
        include/wimlib/types.h          \
@@ -152,7 +153,9 @@ libwim_la_SOURCES =         \
        include/wimlib/wim.h            \
        include/wimlib/write.h          \
        include/wimlib/x86_cpu_features.h       \
+       include/wimlib/xattr.h          \
        include/wimlib/xml.h            \
+       include/wimlib/xml_windows.h    \
        include/wimlib/xpress_constants.h
 
 if WITH_NTFS_3G
@@ -162,18 +165,32 @@ libwim_la_SOURCES += src/ntfs-3g_apply.c  \
 endif
 
 if WINDOWS_NATIVE_BUILD
-libwim_la_SOURCES += src/win32_common.c                        \
+libwim_la_SOURCES += src/wimboot.c                     \
+                    src/win32_common.c                 \
                     src/win32_apply.c                  \
                     src/win32_capture.c                \
                     src/win32_replacements.c           \
-                    src/wimboot.c                      \
-                    include/wimlib/win32_common.h      \
-                    include/wimlib/win32.h             \
+                    src/win32_vss.c                    \
                     include/wimlib/wimboot.h           \
+                    include/wimlib/win32.h             \
+                    include/wimlib/win32_common.h      \
+                    include/wimlib/win32_vss.h         \
                     include/wimlib/wof.h
+PLATFORM_LIBS = -lmsvcrt -lntdll
 else
 libwim_la_SOURCES += src/unix_apply.c          \
                     src/unix_capture.c
+PLATFORM_LIBS =
+endif
+
+if ENABLE_TEST_SUPPORT
+libwim_la_SOURCES += src/test_support.c                \
+                    include/wimlib/test_support.h
+if WINDOWS_NATIVE_BUILD
+# Workaround for "multiple definition" error when math symbols are present in
+# both libmsvcrt.a and ntdll.a
+AM_LDFLAGS += -Wl,--allow-multiple-definition
+endif
 endif
 
 libwim_la_CFLAGS =             \
@@ -184,30 +201,29 @@ libwim_la_CFLAGS =                \
        $(LIBFUSE_CFLAGS)       \
        $(LIBCRYPTO_CFLAGS)
 
-libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 21:0:6
+libwim_la_LDFLAGS = $(AM_LDFLAGS) -version-info 28:0:13
 
 libwim_la_LIBADD =             \
        $(PTHREAD_LIBS)         \
        $(LIBXML2_LIBS)         \
-       $(LTLIBICONV)           \
        $(LIBNTFS_3G_LIBS)      \
        $(LIBFUSE_LIBS)         \
        $(LIBRT_LIBS)           \
-       $(LIBCRYPTO_LIBS)
+       $(LIBCRYPTO_LIBS)       \
+       $(PLATFORM_LIBS)
 
 if ENABLE_SSSE3_SHA1
 libwim_la_SOURCES += src/sha1-ssse3.asm
 libwim_la_LIBADD += src/sha1-ssse3.lo
 
 src/sha1-ssse3.lo:src/sha1-ssse3.asm
-       $(LIBTOOL) --mode=compile --tag NASM $(srcdir)/build-aux/nasm_lt.sh \
+       $(LIBTOOL) --mode=compile $(srcdir)/build-aux/nasm_lt.sh \
        $(NASM) $(NAFLAGS) $(NASM_PLATFORM_FLAGS)                           \
        -DINTEL_SHA1_UPDATE_FUNCNAME=$(NASM_SYMBOL_PREFIX)sha1_transform_blocks_ssse3       \
        -DINTEL_SHA1_UPDATE_DEFAULT_DISPATCH=$(NASM_SYMBOL_PREFIX)sha1_transform_blocks_default  \
        $< -o $@
-
-EXTRA_DIST += build-aux/nasm_lt.sh
 endif
+EXTRA_DIST += build-aux/nasm_lt.sh
 
 ##############################################################################
 #                              Programs                                     #
@@ -264,7 +280,7 @@ install-exec-hook:
 install-data-hook:
        for cmd in $(wimlib_imagex_cmds); do                            \
                cd $(DESTDIR)$(mandir)/man1 &&                          \
-                       ln -sf wimlib-imagex-$${cmd}.1 wim$${cmd}.1;    \
+                       ln -sf wim$${cmd}.1 wimlib-imagex-$${cmd}.1;    \
        done
 
 uninstall-hook:
@@ -277,24 +293,24 @@ uninstall-hook:
 #                              Documentation                                #
 ##############################################################################
 
-man1_MANS =                                    \
-       doc/man1/wimlib-imagex.1                \
-       doc/man1/wimlib-imagex-append.1         \
-       doc/man1/wimlib-imagex-apply.1          \
-       doc/man1/wimlib-imagex-capture.1        \
-       doc/man1/wimlib-imagex-delete.1         \
-       doc/man1/wimlib-imagex-dir.1            \
-       doc/man1/wimlib-imagex-export.1         \
-       doc/man1/wimlib-imagex-extract.1        \
-       doc/man1/wimlib-imagex-info.1           \
-       doc/man1/wimlib-imagex-join.1           \
-       doc/man1/wimlib-imagex-mount.1          \
-       doc/man1/wimlib-imagex-mountrw.1        \
-       doc/man1/wimlib-imagex-optimize.1       \
-       doc/man1/wimlib-imagex-split.1          \
-       doc/man1/wimlib-imagex-unmount.1        \
-       doc/man1/wimlib-imagex-update.1         \
-       doc/man1/wimlib-imagex-verify.1         \
+man1_MANS =                            \
+       doc/man1/wimlib-imagex.1        \
+       doc/man1/wimappend.1            \
+       doc/man1/wimapply.1             \
+       doc/man1/wimcapture.1           \
+       doc/man1/wimdelete.1            \
+       doc/man1/wimdir.1               \
+       doc/man1/wimexport.1            \
+       doc/man1/wimextract.1           \
+       doc/man1/wiminfo.1              \
+       doc/man1/wimjoin.1              \
+       doc/man1/wimmount.1             \
+       doc/man1/wimmountrw.1           \
+       doc/man1/wimoptimize.1          \
+       doc/man1/wimsplit.1             \
+       doc/man1/wimunmount.1           \
+       doc/man1/wimupdate.1            \
+       doc/man1/wimverify.1            \
        doc/man1/mkwinpeimg.1
 
 EXTRA_DIST += $(man1_MANS)
@@ -320,7 +336,7 @@ endif
 
 EXTRA_DIST +=                                  \
        tests/common_tests.sh                   \
-       tests/tests-common.sh                   \
+       tests/test_utils.sh                     \
        tests/security_descriptor_1.base64      \
        tests/security_descriptor_1.bin         \
        tests/security_descriptor_2.base64      \
@@ -333,4 +349,9 @@ else
 TESTS = $(dist_check_SCRIPTS)
 endif
 
+# Extra test programs (not run by 'make check')
+EXTRA_PROGRAMS = tests/wlfuzz
+tests_wlfuzz_SOURCES = tests/wlfuzz.c
+tests_wlfuzz_LDADD = $(top_builddir)/libwim.la
+
 ##############################################################################