Commit Graph

168 Commits

Author SHA1 Message Date
Licai Guo
759948c610 fix a typo 2014-03-24 22:14:43 -07:00
Licai Guo
f26bb57415 reorganize tests 2014-03-24 22:14:43 -07:00
Licai Guo
31a93de513 add missing build files 2014-03-18 19:47:26 -07:00
Martin Storsjö
e1b5e038d2 Use .obj as suffix for object files on MSVC
This avoids warnings when linking about "unrecognized source file
type, object file assumed".
2014-03-18 19:41:06 +02:00
sijchen
2fe99d688b add basic me test 2014-03-14 16:40:02 +08:00
Licai Guo
c74f44101e add code coverage test.
use lcov & gcov to generate coverage report
use genhtml to generate html pages
on ubuntu: sudo apt-get install lcov will install
these two cmd lines.
2014-03-13 01:38:33 -07:00
Martin Storsjö
a614ee1b50 Add separate install-static and install-shared targets
This allows installing only the static library or shared library
without the other.
2014-03-07 15:10:46 +02:00
Martin Storsjö
560c14b67c Add the APPLE_IOS define when building for iOS with make
Previously the define was only used when building from within the
xcode project files.

This enables the arm neon assembly.
2014-03-04 09:26:15 +02:00
Martin Storsjö
1118dd4f71 Update the makefile generator to support .S arm assembly files
These are built if ASM_ARCH is set to arm.
2014-03-04 08:56:42 +02:00
Martin Storsjö
2f02bf9626 Link codec_unittest to the static android STL
This allows building (and running) codec_unittest for android.

This explicitly needs to go at the end of the LDFLAGS, since both
this and -lgtest etc. are static libraries, and code in gtest
relies on the STL. Since this explicitly needs to be at the end,
a separate makefile variable is added for it.
2014-02-24 17:03:18 +02:00
Martin Storsjö
56e5a11048 Wrap the library names in codec_unittest LDFLAGS, for use with MSVC 2014-02-24 15:38:37 +02:00
Martin Storsjö
4f5fd952b6 Use the bundled sha1 implementation instead of relying on openssl
This simplifies running tests on platforms where OpenSSL isn't
commonly available.
2014-02-24 15:38:19 +02:00
Martin Storsjö
64c2164df9 Fix building the gtest library when targeting android
The main purpose is to make sure that the build doesn't fail
if the build directory contains the gtest subdirectory, although
the unittests also could be run on a device.
2014-02-20 12:28:00 +02:00
Martin Storsjö
561027ebac Install the import library as well, in MSVC builds 2014-02-19 21:04:30 +02:00
Martin Storsjö
b1d8671bd4 Support building DLLs with MSVC
MSVC doesn't export any functions at all by default, contrary to
gcc which exports all global functions by default.

Doing the same for linux/OS X isn't too hard, but they use yet
two other, different syntaxes for the corresponding symbol file.
2014-02-19 21:04:30 +02:00
Martin Storsjö
42fb4f562e Make the -shared flag an overrideable variable 2014-02-19 21:04:30 +02:00
Martin Storsjö
44522094bf Use CXX_LINK_O when building the shared library 2014-02-19 21:04:30 +02:00
Martin Storsjö
c6aaf7d117 Install the shared library as well 2014-02-19 21:04:30 +02:00
Martin Storsjö
f2be484456 Fix silent builds of the shared library 2014-02-19 21:04:30 +02:00
Ethan Hugg
0a73155bdd Merge pull request #306 from licaiguo/add-android-pull-clean
Add android Support
2014-02-19 09:59:25 -08:00
Martin Storsjö
7acb6cd4d0 Remove the duplicated IWelsVP.h file
Instead have the encoder include it directly from the processing
library.

Both copies of the files were mostly identical so far.
2014-02-19 15:00:49 +02:00
Martin Storsjö
099595696b Add the common processing include directories to the include path
This avoids using relative paths for including these files.
2014-02-19 14:42:03 +02:00
Martin Storsjö
79838d4aad Remove unused include directories
The processing lib doesn't need (and shouldn't) look into the
encoder's private include directories.
2014-02-19 14:22:20 +02:00
Licai Guo
d058176c3b add android support, single commit 2014-02-18 17:54:27 -08:00
Martin Storsjö
937ec46769 Silence building libwels.a building with V=0 2014-02-18 10:33:09 +02:00
jwwang
4fa810da8b 1. support .c in makefile generator. 2. add test to check C interfaces. 2014-02-12 14:52:35 +08:00
Martin Storsjö
45689f832b Add a "make install" target 2014-02-06 22:44:32 +02:00
Martin Storsjö
f5fd72f61e Build one large static library containing both decoder and encoder 2014-02-06 22:44:32 +02:00
Martin Storsjö
8ecdcc7172 Add a make option for silencing the commands run
Add "V=No" to the make command to silence the make output.

This makes it easier to spot warnings or other unexpected messages
in the build output.
2014-01-30 13:56:19 +02:00
Ethan Hugg
9b70a6dbaf Merge pull request #198 from mstorsjo/makefile-deps
Automatically track per-file dependencies
2014-01-28 11:13:57 -08:00
Varun B Patil
5efb0a9a33 Attempt to detect OS arch(32/64 bit) on most platforms
Attempt to automatically detect 32bit or 64bit OS architecture in Makefile,
unless user has specified preference on the command line.
2014-01-28 12:35:36 +05:30
Martin Storsjö
a164436d98 Automatically track per-file dependencies
This is enabled for platforms/compilers that support the -MMD
option, which creates a dependency file named out.d when compiling
to a file named out.o, only including local, not system headers.

The additional -MP option adds phony targets for all included
headers, to avoid having make error out due to "no rule to make
target foo.h" if a header is renamed/removed.

This makes sure that all the right files are rebuilt if a header
is changed, avoiding the need for a full rebuild if only a few
files are affected.
2014-01-28 08:15:45 +02:00
Martin Storsjö
e547084435 Remove spaces from the argument to LINK_LIB
In make on some platforms, this ended up as passing -l <lib>
with a space inbetween. This wasn't an error, but wasn't what
was intended either.
2014-01-26 16:13:57 +02:00
Varun B Patil
e9558f0232 Do not set makefile variable if not actually required 2014-01-26 00:46:10 +05:30
Varun B Patil
140cf78a80 Remove non-existent dir from makefile 2014-01-26 00:45:58 +05:30
Varun B Patil
a245dc8284 Removed unused makefile variable 2014-01-25 20:05:16 +05:30
Martin Storsjö
80067dbb09 Include the executable extension in the test rule dependency
This fixes "make test" on platforms that have an executable
extension.
2014-01-24 10:53:27 +02:00
Martin Storsjö
18a4354b6e Make BUILDTYPE=Release the default if no make parameters are specified
This probably simplifies the default case for most users of the
library, and reduces the risk of people accidentally trying to use
an unoptimized build.
2014-01-23 15:04:38 +02:00
Varun B Patil
32b3b72e9f Cleanup include dir list in Makefile 2014-01-19 20:30:31 +05:30
Martin Storsjö
b38976944a Regenerate gtest-targets.mk using mktargets.sh/py
This simplifies updating all makefiles consistently.
2014-01-17 18:53:17 +02:00
Ethan Hugg
16099cfd32 Merge pull request #154 from mstorsjo/no-recursive-make
Don't call make recursively to build codec_unittest
2014-01-17 08:49:56 -08:00
Martin Storsjö
46e6bb5c67 Allow overriding the cflags for debug/optimization and for 32/64 bit 2014-01-17 12:06:12 +02:00
Martin Storsjö
09585cf65a Allow overriding the command syntax for linking libraries 2014-01-17 12:06:11 +02:00
Martin Storsjö
b842ff30e5 Make the compiler/ar/linker file output parameters overrideable
This is in preparation for allowing building using MSVC via
makefiles.
2014-01-17 12:06:11 +02:00
Martin Storsjö
c0fcb8f90f Don't call make recursively to build codec_unittest 2014-01-17 11:05:33 +02:00
Varun B Patil
e7be3a0afa Makefile modifications for test target
On fresh clone of repo, "make test" used to give,
"make: *** No rule to make target `codec_unittest', needed by `test'.  Stop."
because gtest was not available. This message is not very helpful. Instead printing
that gtest is not available and the command to run to obtain gtest.
2014-01-13 11:03:02 +05:30
Ethan Hugg
2c9f19474a Merge pull request #132 from mstorsjo/mingw64
Add support for building on 64 bit mingw
2014-01-10 14:21:33 -08:00
Martin Storsjö
ba38dc77a5 Add support for 64 bit mingw in the makefiles
By setting an overridable variable in the main makefile, we avoid
having to move the default -DUNIX64 into each of the other unix
platform makefiles, but still allowing the mingw platform to
override it.
2014-01-10 19:01:22 +02:00
Martin Storsjö
104494475e Remove the HAVE_CACHE_LINE_ALIGN, ENCODER_CORE and WELS_SVC defines from makefiles
Neither of them are used anywhere any longer.
2014-01-10 15:33:09 +02:00
Ethan Hugg
792060c388 Merge pull request #127 from ekr/asan
Asan
2014-01-09 10:49:52 -08:00
EKR
e1772654b5 Add ASan support 2014-01-09 10:25:15 -08:00
Martin Storsjö
86c0f178ef Add a dependency on the unittest in the "make test" rule
This makes sure "make test" succeeds without building anything
beforehand.
2014-01-09 15:10:27 +02:00
Martin Storsjö
a89513c073 Add dependencies on the encoder libraries to the unit tests
This makes sure a "make codec_unittest" succeeds without any
prior make invocation. The usage of the encoder libraries in
the unit test was added in 6f58a0c1.
2014-01-09 15:10:27 +02:00
jwwang
6f58a0c1f7 Add encoder test 2014-01-08 19:12:02 -08:00
jwwang
cb0053f860 Add decoder test 2014-01-08 19:11:23 -08:00
Martin Storsjö
488fb7bb20 Add proper dependencies for the command line binaries
This makes sure that all the dependency libs are built before trying
to link them together, fixing parallel make (which occasionally
failed due to trying to link the encoder or decoder command line
binaries before the libs had been built) and also fixes building an
individual component by e.g. "make h264enc".
2014-01-08 16:36:11 +02:00
volvet
ec84f4bcc9 resolve conflict 2014-01-03 14:49:45 +08:00
V
47e8134b92 Remove extra [:digit:] from tr command 2013-12-23 21:42:34 +01:00
V
7fa09903cf Add MinGW platform makefile and related source changes 2013-12-23 21:42:31 +01:00
Licai Guo
ac6828f4fa Enable 64-bit build on Linux & Mac 2013-12-14 20:37:33 -08:00
Ethan Hugg
3550319a96 Add make test to Travis 2013-12-13 13:09:59 -08:00
Martin Storsjö
17f9c22a3e Include the platform makefile before adding defines for x86 asm
This fixes building with BUILDTYPE=Release on OS X.
2013-12-13 13:52:00 +02:00
EKR
e7795c8dc6 Fix gtest detection 2013-12-12 13:12:20 +08:00
EKR
8bb8276967 Make gtest support conditional 2013-12-12 12:24:55 +08:00
EKR
fb429bbf67 Add gtest support 2013-12-12 10:56:52 +08:00
Ethan Hugg
2ca14fed1c Rebase of EKR's patches for tracing and frame size 2013-12-11 06:51:26 -08:00
EKR
cf92e8d620 Add support for assembly on linux as well as multiple configs 2013-12-10 18:57:32 +08:00
EKR
2edc251ded First cut at new build system. Tested on Mac 2013-12-10 16:19:42 +08:00