From 2eb5fd26de9e4011a2cea5f8ddc6d97efccaf1fc Mon Sep 17 00:00:00 2001 From: Saurabh Shrivastava Date: Tue, 3 Oct 2017 00:46:04 +0530 Subject: [PATCH] [FIX] Move files into appropriate directories & fix build scripts. (#781) * Move wrappers and extracters inside src/ and update CMakeLists. * Reflect change in path across build scripts. * Remove redundant source file inclusion. * Always use supplied libpng. --- api/build_api | 4 ++-- api/ccextractor.i | 4 ++-- api/ccextractor_wrap.c | 2 +- linux/Makefile.am | 8 ++++---- linux/build | 4 ++-- linux/build_hardsubx | 4 +++- linux/builddebug | 4 ++-- linux/module_generator | 4 +++- mac/build.command | 8 +++++--- src/CMakeLists.txt | 18 ++++++++++-------- {api => src}/extractors/extractor.c | 0 {api => src}/extractors/extractor.h | 0 {api => src}/wrappers/wrapper.c | 0 {api => src}/wrappers/wrapper.h | 0 windows/ccextractor.vcxproj | 8 ++++---- windows/ccextractor.vcxproj.filters | 8 ++++---- 16 files changed, 42 insertions(+), 34 deletions(-) rename {api => src}/extractors/extractor.c (100%) rename {api => src}/extractors/extractor.h (100%) rename {api => src}/wrappers/wrapper.c (100%) rename {api => src}/wrappers/wrapper.h (100%) diff --git a/api/build_api b/api/build_api index 1eeb3ac9..fb668ec9 100755 --- a/api/build_api +++ b/api/build_api @@ -10,8 +10,8 @@ SRC_GPAC="$(find ../src/gpacmp4/ -name '*.c')" SRC_HASH="$(find ../src/lib_hash/ -name '*.c')" SRC_PROTOBUF="$(find ../src/protobuf-c/ -name '*.c')" SRC_UTF8PROC="../src/utf8proc/utf8proc.c" -API_WRAPPERS="$(find ../api/wrappers/ -name '*.c')" -API_EXTRACTORS="$(find ../api/extractors/ -name '*.c')" +API_WRAPPERS="$(find ../src/wrappers/ -name '*.c')" +API_EXTRACTORS="$(find ../src/extractors/ -name '*.c')" BLD_SOURCES="../src/ccextractor.c ccextractor_wrap.c $SRC_CCX $SRC_GPAC $SRC_ZLIB $SRC_ZVBI $SRC_LIBPNG $SRC_HASH $SRC_PROTOBUF $SRC_UTF8PROC $API_WRAPPERS $API_EXTRACTORS" ../linux/pre-build.sh diff --git a/api/ccextractor.i b/api/ccextractor.i index 7445864d..3ab05276 100644 --- a/api/ccextractor.i +++ b/api/ccextractor.i @@ -8,7 +8,7 @@ #include "../src/lib_ccx/hardsubx.h" #include "../src/lib_ccx/ccx_share.h" #include "../src/ccextractor.h" - #include "../api/wrappers/wrapper.h" + #include "../src/wrappers/wrapper.h" %} void my_pythonapi(struct ccx_s_options *api_options, PyObject* func); %pythoncode %{ @@ -75,4 +75,4 @@ def print_g608_grid(case,text,color,font): %} %include "../src/lib_ccx/ccx_common_common.h" %include "../src/ccextractor.h" - %include "../api//wrappers/wrapper.h" + %include "../src//wrappers/wrapper.h" diff --git a/api/ccextractor_wrap.c b/api/ccextractor_wrap.c index de29bd9b..affabb01 100644 --- a/api/ccextractor_wrap.c +++ b/api/ccextractor_wrap.c @@ -3031,7 +3031,7 @@ static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0}; #include "../src/lib_ccx/hardsubx.h" #include "../src/lib_ccx/ccx_share.h" #include "../src/ccextractor.h" - #include "../api/wrappers/wrapper.h" + #include "../src/wrappers/wrapper.h" SWIGINTERNINLINE PyObject* diff --git a/linux/Makefile.am b/linux/Makefile.am index 2229ba70..d314a376 100644 --- a/linux/Makefile.am +++ b/linux/Makefile.am @@ -263,10 +263,10 @@ ccextractor_SOURCES = \ ../src/zvbi/sampling_par.h \ ../src/zvbi/sliced.h \ ../src/zvbi/zvbi_decoder.h \ - ../api/extractors/extractor.c \ - ../api/extractors/extractor.h \ - ../api/wrappers/wrapper.c \ - ../api/extractors/wrapper.h + ../src/extractors/extractor.c \ + ../src/extractors/extractor.h \ + ../src/wrappers/wrapper.c \ + ../src/extractors/wrapper.h ccextractor_CFLAGS = -std=gnu99 -s -Wno-write-strings -D_FILE_OFFSET_BITS=64 -DVERSION_FILE_PRESENT diff --git a/linux/build b/linux/build index de09bb0c..98856fe2 100755 --- a/linux/build +++ b/linux/build @@ -9,8 +9,8 @@ SRC_GPAC="$(find ../src/gpacmp4/ -name '*.c')" SRC_HASH="$(find ../src/lib_hash/ -name '*.c')" SRC_PROTOBUF="$(find ../src/protobuf-c/ -name '*.c')" SRC_UTF8PROC="../src/utf8proc/utf8proc.c" -API_WRAPPERS="$(find ../api/wrappers/ -name '*.c')" -API_EXTRACTORS="$(find ../api/extractors/ -name '*.c')" +API_WRAPPERS="$(find ../src/wrappers/ -name '*.c')" +API_EXTRACTORS="$(find ../src/extractors/ -name '*.c')" BLD_SOURCES="../src/ccextractor.c $SRC_CCX $SRC_GPAC $SRC_ZLIB $SRC_ZVBI $SRC_LIBPNG $SRC_HASH $SRC_PROTOBUF $SRC_UTF8PROC $API_WRAPPERS $API_EXTRACTORS" BLD_LINKER="-lm -zmuldefs -l tesseract -l lept" diff --git a/linux/build_hardsubx b/linux/build_hardsubx index d75ecb70..0bfbf5f6 100755 --- a/linux/build_hardsubx +++ b/linux/build_hardsubx @@ -8,9 +8,11 @@ SRC_CCX="$(find ../src/lib_ccx/ -name '*.c')" SRC_GPAC="$(find ../src/gpacmp4/ -name '*.c')" SRC_HASH="$(find ../src/lib_hash/ -name '*.c')" SRC_UTF8="../src/utf8proc/utf8proc.c" +API_WRAPPERS="$(find ../src/wrappers/ -name '*.c')" +API_EXTRACTORS="$(find ../src/extractors/ -name '*.c')" SRC_PROTOBUF="$(find ../src/protobuf-c/ -name '*.c')" protobuf-c -BLD_SOURCES="../src/ccextractor.c $SRC_CCX $SRC_GPAC $SRC_ZLIB $SRC_ZVBI $SRC_LIBPNG $SRC_HASH $SRC_UTF8 $SRC_PROTOBUF" +BLD_SOURCES="../src/ccextractor.c $SRC_CCX $SRC_GPAC $SRC_ZLIB $SRC_ZVBI $SRC_LIBPNG $SRC_HASH $SRC_UTF8 $SRC_PROTOBUF $API_WRAPPERS $API_EXTRACTORS" BLD_LINKER="-lm -zmuldefs -l tesseract -l lept -L/usr/local/lib -lswscale -lavutil -pthread -lavformat -lavcodec -lxcb-shm -lxcb -lX11 -llzma -lz -lswresample" ./pre-build.sh diff --git a/linux/builddebug b/linux/builddebug index 42903af8..a14d9770 100755 --- a/linux/builddebug +++ b/linux/builddebug @@ -9,8 +9,8 @@ SRC_GPAC="$(find ../src/gpacmp4/ -name '*.c')" SRC_HASH="$(find ../src/lib_hash/ -name '*.c')" SRC_PROTOBUF="$(find ../src/protobuf-c/ -name '*.c')" SRC_UTF8PROC="../src/utf8proc/utf8proc.c" -API_WRAPPERS="$(find ../api/wrappers/ -name '*.c')" -API_EXTRACTORS="$(find ../api/extractors/ -name '*.c')" +API_WRAPPERS="$(find ../src/wrappers/ -name '*.c')" +API_EXTRACTORS="$(find ../src/extractors/ -name '*.c')" BLD_SOURCES="../src/ccextractor.c $SRC_CCX $SRC_GPAC $SRC_ZLIB $SRC_ZVBI $SRC_LIBPNG $SRC_HASH $SRC_PROTOBUF $SRC_UTF8PROC $API_WRAPPERS $API_EXTRACTORS" BLD_LINKER="-lm -zmuldefs -l tesseract -l lept" diff --git a/linux/module_generator b/linux/module_generator index 0524698b..10e0eb89 100755 --- a/linux/module_generator +++ b/linux/module_generator @@ -7,6 +7,8 @@ SRC_GPAC="$(find ../src/gpacmp4/ -name '*.c')" SRC_HASH="$(find ../src/lib_hash/ -name '*.c')" SRC_PROTOBUF="$(find ../src/protobuf-c/ -name '*.c')" SRC_UTF8PROC="../src/utf8proc/utf8proc.c" -BLD_SOURCES="../src/ccextractor.c ../src/ccextractorapi_wrap.c $SRC_CCX $SRC_GPAC $SRC_ZLIB $SRC_ZVBI $SRC_LIBPNG $SRC_HASH $SRC_PROTOBUF $SRC_UTF8PROC" +API_WRAPPERS="$(find ../src/wrappers/ -name '*.c')" +API_EXTRACTORS="$(find ../src/extractors/ -name '*.c')" +BLD_SOURCES="../src/ccextractor.c ../src/ccextractorapi_wrap.c $SRC_CCX $SRC_GPAC $SRC_ZLIB $SRC_ZVBI $SRC_LIBPNG $SRC_HASH $SRC_PROTOBUF $SRC_UTF8PROC $API_WRAPPERS $API_EXTRACTORS" python setup.py $BLD_SOURCES diff --git a/mac/build.command b/mac/build.command index 47099703..89a747b5 100755 --- a/mac/build.command +++ b/mac/build.command @@ -4,7 +4,6 @@ BLD_FLAGS="-std=gnu99 -Wno-write-strings -DGPAC_CONFIG_DARWIN -D_FILE_OFFSET_BIT [[ $1 = "OCR" ]] && BLD_FLAGS="$BLD_FLAGS -DENABLE_OCR" BLD_INCLUDE="-I../src/ -I../src/lib_ccx -I../src/gpacmp4 -I../src/lib_hash -I../src/libpng -I../src/utf8proc -I../src/protobuf-c -I../src/zlib -I../src/zvbi" [[ $1 = "OCR" ]] && BLD_INCLUDE="$BLD_INCLUDE `pkg-config --cflags --silence-errors tesseract`" -SRC_API="$(find ../api/extractors -name '*.c')" SRC_CCX="$(find ../src/lib_ccx -name '*.c')" SRC_GPAC="$(find ../src/gpacmp4 -name '*.c')" SRC_LIB_HASH="$(find ../src/lib_hash -name '*.c')" @@ -13,9 +12,12 @@ SRC_PROTOBUF="$(find ../src/protobuf-c -name '*.c')" SRC_UTF8="../src/utf8proc/utf8proc.c" SRC_ZLIB="$(find ../src/zlib -name '*.c')" SRC_ZVBI="$(find ../src/zvbi -name '*.c')" -BLD_SOURCES="../src/ccextractor.c $SRC_API $SRC_CCX $SRC_GPAC $SRC_LIB_HASH $SRC_LIBPNG $SRC_PROTOBUF $SRC_UTF8 $SRC_ZLIB $SRC_ZVBI" +API_WRAPPERS="$(find ../src/wrappers/ -name '*.c')" +API_EXTRACTORS="$(find ../src/extractors/ -name '*.c')" + +BLD_SOURCES="../src/ccextractor.c $SRC_API $SRC_CCX $SRC_GPAC $SRC_LIB_HASH $SRC_LIBPNG $SRC_PROTOBUF $SRC_UTF8 $SRC_ZLIB $SRC_ZVBI $API_WRAPPERS $API_EXTRACTORS" BLD_LINKER="-lm -liconv" -[[ $1 = "OCR" ]] && BLD_LINKER=" $BLD_LINKER `pkg-config --libs --silence-errors tesseract` `pkg-config --libs --silence-errors lept`" +[[ $1 = "OCR" ]] && BLD_LINKER="$BLD_LINKER `pkg-config --libs --silence-errors tesseract` `pkg-config --libs --silence-errors lept`" ./pre-build.sh gcc $BLD_FLAGS $BLD_INCLUDE -o ccextractor $BLD_SOURCES $BLD_LINKER diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 026d0ad7..913a85d7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -48,16 +48,22 @@ include_directories ("${PROJECT_SOURCE_DIR}/gpacmp4/") include_directories ("${PROJECT_SOURCE_DIR}/protobuf-c/") include_directories ("${PROJECT_SOURCE_DIR}/zvbi/") include_directories ("${PROJECT_SOURCE_DIR}/lib_hash/") +include_directories ("${PROJECT_SOURCE_DIR}/extractors/") +include_directories ("${PROJECT_SOURCE_DIR}/wrappers/") +include_directories ("${PROJECT_SOURCE_DIR}/libpng/") +include_directories ("${PROJEXT_SOURCE_DIR}/zlib/") aux_source_directory ("${PROJECT_SOURCE_DIR}/protobuf-c/" SOURCEFILE) aux_source_directory ("${PROJECT_SOURCE_DIR}/zvbi/" SOURCEFILE) aux_source_directory ("${PROJECT_SOURCE_DIR}/lib_hash/" SOURCEFILE) +aux_source_directory ("${PROJECT_SOURCE_DIR}/extractors/" SOURCEFILE) +aux_source_directory ("${PROJECT_SOURCE_DIR}/wrappers/" SOURCEFILE) +aux_source_directory ("${PROJECT_SOURCE_DIR}/libpng/" SOURCEFILE) +aux_source_directory ("${PROJECT_SOURCE_DIR}/zlib/" SOURCEFILE) #Windows specific libraries and linker flags if(WIN32) include_directories ("${PROJECT_SOURCE_DIR}/win_iconv/") - include_directories ("${PROJECT_SOURCE_DIR}/libpng/") aux_source_directory ("${PROJECT_SOURCE_DIR}/win_iconv/" SOURCEFILE) - aux_source_directory ("${PROJECT_SOURCE_DIR}/libpng/" SOURCEFILE) set (EXTRA_LIBS ${EXTRA_LIBS} -lws2_32 -lwinmm) else (WIN32) # Adding some platform specific library path @@ -76,15 +82,11 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set (EXTRA_LIBS ${EXTRA_LIBS} iconv) endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -include_directories ("${PROJECT_SOURCE_DIR}/libpng/") -include_directories ("${PROJEXT_SOURCE_DIR}/zlib/") -aux_source_directory ("${PROJECT_SOURCE_DIR}/libpng/" SOURCEFILE) -aux_source_directory ("${PROJECT_SOURCE_DIR}/zlib/" SOURCEFILE) - -find_package (PkgConfig) set (EXTRA_LIBS ${EXTRA_LIBS} -lz) +find_package (PkgConfig) + ######################################################## # Build using FFmpeg libraries ######################################################## diff --git a/api/extractors/extractor.c b/src/extractors/extractor.c similarity index 100% rename from api/extractors/extractor.c rename to src/extractors/extractor.c diff --git a/api/extractors/extractor.h b/src/extractors/extractor.h similarity index 100% rename from api/extractors/extractor.h rename to src/extractors/extractor.h diff --git a/api/wrappers/wrapper.c b/src/wrappers/wrapper.c similarity index 100% rename from api/wrappers/wrapper.c rename to src/wrappers/wrapper.c diff --git a/api/wrappers/wrapper.h b/src/wrappers/wrapper.h similarity index 100% rename from api/wrappers/wrapper.h rename to src/wrappers/wrapper.h diff --git a/windows/ccextractor.vcxproj b/windows/ccextractor.vcxproj index 14808ba9..c0785151 100644 --- a/windows/ccextractor.vcxproj +++ b/windows/ccextractor.vcxproj @@ -35,8 +35,8 @@ - - + + @@ -128,8 +128,8 @@ - - + + diff --git a/windows/ccextractor.vcxproj.filters b/windows/ccextractor.vcxproj.filters index c527f549..d8023b19 100644 --- a/windows/ccextractor.vcxproj.filters +++ b/windows/ccextractor.vcxproj.filters @@ -357,10 +357,10 @@ Header Files\lib_ccx - + Header Files - + Header Files @@ -815,10 +815,10 @@ Source Files\lib_ccx - + Source Files - + Source Files