Commit Graph

32 Commits

Author SHA1 Message Date
Martin Storsjö
4c8347aa22 Don't concatenate $@ to AR_OPTS
The MSVC version of AR_OPTS already contains $@, in a very specific
way.

This fixes MSVC builds after c8bed8a9.
2015-06-26 14:09:00 +03:00
deadNightTiger
c8bed8a9bd Move -D flag for ar to platform-linux.mk 2015-06-25 14:25:28 +04:00
Martin Storsjö
652ee84e0d Enable -Wc++11-compat-reserved-user-defined-literal when building with clang on linux
This allows catching issues that causes the build to fail on MSVC 2015 RC,
without having to include such a configuration in travis.
2015-05-13 14:53:00 +03:00
Martin Storsjö
24f8f2138a Use ARCH instead of ENABLE64BIT for distinguishing between x86 and x86_64
Keep support for the ENABLE64BIT flag (as a flag for choosing between
32 and 64 bit, if the current arch happens to be x86) but avoid using
it in code that wants to know the exact architecture used.

This makes the platform build files more straightforward and
consistent.
2015-04-20 12:22:46 +03:00
Martin Storsjö
3d263d1087 Set a default SHAREDLIB_DIR in the main Makefile
Only override it in the ones where the default isn't desired.
2014-12-01 15:44:27 +02:00
Nirbheek Chauhan
3f69873c99 Makefile: Fix shared library building on various OSes
Versioned for OS not in (Windows, Android), and create a .dll.a implib on Windows
2014-11-27 02:04:06 +05:30
Martin Storsjö
e415c3fe70 Remove the "platform-" prefix from common shared makefiles
This makes it clearer which ones actually are real platforms
(chosen automatically or explicitly via "make ARCH=foo") and which
ones just are shared helpers.
2014-10-22 10:18:53 +03:00
Martin Storsjö
a365b42d3b Consistently use -f elf instead of -f elf32
The freebsd platform file already did things like this.
2014-07-25 00:54:13 +03:00
Martin Storsjö
27499895f7 Support building outside of the source tree
This allows building two versions for different architectures at
the same time, without the built files clobbering each other.

This is very helpful when trying to track down differences between
two build configurations.

To build outside of the source tree, create the other directory to
use for building (either outside of the openh264 directory, or as
a subdirectory), enter that directory, and do
"make -f path/to/openh264/Makefile".
2014-07-15 20:40:51 +03:00
Martin Storsjö
0acb780715 Don't define MACOS and LINUX
Nothing within the library actually uses these defines for anything
any more.

If necessary, the built-in defines __APPLE__ and __linux__ can be
used instead of these manually added defines. This is similar to how
we use _WIN32 instead of manually defining WIN32.
2014-05-12 12:17:53 +03:00
volvet
9f50e0c91e clean multi-threading macro 2014-03-31 18:24:10 -07:00
Licai Guo
a688f5278a fix most of the warnings 2014-03-19 01:16:08 -07:00
Licai Guo
2a885ca461 disable most warnings produced by -Wall 2014-03-18 23:04:33 -07:00
Andoni Morales Alastruey
c55429d7a5 Replace -Werror with -Wall
Treating warnings as error is useless if no warning is activated.
Several build systems enable -Wall in the CLFAGS, which in combination
with -Werror can trigger undesired build errors.
2014-03-18 19:15:25 +01:00
Martin Storsjö
00849100f8 Remove the unused define NOPREFIX
Nothing in the x86 assembly reacts to that define (nor anything
else within the code base).
2014-03-15 14:40:36 +02:00
Martin Storsjö
0fc93cd98e Hook up building arm assembly in the generic linux and android makefiles 2014-03-04 08:56:42 +02:00
Martin Storsjö
6f803e16f5 Only set x86 ASMFLAGS if building x86 assembly 2014-03-01 23:56:14 +02:00
Martin Storsjö
70360cb11e Move the ASM variable declaration into the x86-common file 2014-02-28 10:22:19 +02:00
Martin Storsjö
59e6ab91cf Use an intermediate platform header for including architecture specific rules
This avoids coupling the architecture directly to the platform,
allowing building on e.g. linux on architectures other than x86,
without having to explicitly specify USE_ASM=No while building
on those.

Later this will also facilitate enabling assembly optimizations
where applicable, e.g. arm assembly on linux.
2014-02-28 10:19:53 +02:00
Licai Guo
d058176c3b add android support, single commit 2014-02-18 17:54:27 -08:00
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ö
b9f04e0db8 Enable threading when building for most platforms
Don't enable threading globally since the MSVC/ARM build target
(neither windows phone nor windows rt) doesn't support the normal
windows threading functions.
2014-01-26 10:34:53 +02:00
Martin Storsjö
5cb3fc93e0 Remove the __NO_CTYPE define
Nothing within the project uses it, and it's not necessary to
build the project either, tested on both linux and mingw.
2014-01-21 12:48:33 +02:00
Martin Storsjö
0ad7c4c9b6 Get rid of trailing whitespace in the platform makefiles 2014-01-05 14:48:52 +02:00
volvet
8a7a15ff30 fix merge conflict 2014-01-04 08:20:56 +08:00
volvet
2c828d7918 merge VS2012 makefile for 64bits assembly 2014-01-03 16:12:47 +08:00
volvet
ec84f4bcc9 resolve conflict 2014-01-03 14:49:45 +08:00
V
7fa09903cf Add MinGW platform makefile and related source changes 2013-12-23 21:42:31 +01:00
Ethan Hugg
b2066e1dc2 Move -Werror to platform file. Also, %zu can't be used on Windows. 2013-12-19 11:27:05 -08:00
Martin Storsjö
f1cfd1e28a Don't link to libdl when building with NO_DYNAMIC_VP defined 2013-12-16 09:35:03 +02:00
Licai Guo
ac6828f4fa Enable 64-bit build on Linux & Mac 2013-12-14 20:37:33 -08:00
EKR
cf92e8d620 Add support for assembly on linux as well as multiple configs 2013-12-10 18:57:32 +08:00