Commit Graph

241 Commits

Author SHA1 Message Date
Martin Storsjö
36cda3606e Only use the -Gm option in desktop debug MSVC builds
This option conflicts with -ZW which is used in Windows Phone builds.
2014-04-29 11:56:48 +03:00
Martin Storsjö
239f42a924 Don't build all object files with -ZW, only the one that needs it
This reduces the build time from 69 s to 30 s, reduces the size of
the built wels.lib from 30 MB to 3.9 MB, and reduces the number of
warnings when building wels.lib.
2014-04-29 11:03:17 +03:00
lyao2
34ad719cf2 Squashed commit of the following:
commit f73d6cf0fcae5f401fc2817ab736af996113ca09
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Thu Apr 24 15:02:21 2014 +0800

    remove comments

commit 75416c2cf6c1ebb7aabf9e8c52d8c7163a8009b7
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Thu Apr 24 14:52:09 2014 +0800

    for test

commit 7dfb65ce514edcff892bfb3919921cadcce1d055
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Thu Apr 24 14:12:31 2014 +0800

    for test

commit eff771645e8c349dc4e454ab1751530b3cef18ed
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Thu Apr 24 10:51:34 2014 +0800

    for test

commit 9c42b9a7a04068e70be94529941f549b58e63780
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Wed Apr 23 17:46:59 2014 +0800

    update cpu_flag

commit cce3fccc0a4249b82ab2e0e92fe53579ef942799
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Wed Apr 23 17:26:56 2014 +0800

    for test

commit 3d292995b3c4437a2674a687cc4e8da1b5fb83f5
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Wed Apr 23 16:45:57 2014 +0800

    remove space

commit c608c2ba7cf010f1dcf8c0344f68536c48e181cb
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Wed Apr 23 16:42:43 2014 +0800

    remove tabs

commit 3b769342a06e25ad23a2c86f23a94d0d7ca1a4c8
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Wed Apr 23 16:33:55 2014 +0800

    refine UT case

commit 89b869f0c8f8c9bbd61e9de32caa77877aeae064
Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
Date:   Tue Apr 22 13:40:50 2014 +0800

    Squashed commit of the following:

    commit abe55494134ef8342ffe9566df4e1b3265fe21b6
    Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
    Date:   Tue Apr 22 10:50:07 2014 +0800

        set MV range

    commit 8c7f70c351e50d945c29118bed8b3781c22b7dbc
    Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
    Date:   Mon Apr 21 16:53:10 2014 +0800

        refinement

    commit bf35f19a7dc88743aacf8e89e681e0ef3302d40a
    Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
    Date:   Fri Apr 18 17:24:31 2014 +0800

        correct tabs

    commit 130b7f895d7020bfc571d910966891da93150242
    Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
    Date:   Fri Apr 18 17:17:06 2014 +0800

        correct format

    commit 0429703b0844363559dd2b3d44e45034232a9d8f
    Author: lyao2 <lyao2@LYAO2-WS01.cisco.com>
    Date:   Fri Apr 18 15:12:44 2014 +0800

        add scroll UT
2014-04-24 15:12:49 +08:00
Martin Storsjö
f1b2d51d86 Add support for building the arm64 assembly in platform-arch.mk 2014-04-23 11:44:47 +03:00
Martin Storsjö
84ff82ee24 Exclude the new arm64 include file 2014-04-23 11:44:47 +03:00
Martin Storsjö
c8901c7dcd Add support for arm64 assembly source files in mktargets.py
Disambiguate between arm and arm64 sources by checking the directory
names.

The arm assembly sources can be assembled on arm64 and vice versa
without any effect since all of the implementation is hidden behind
the HAVE_NEON and HAVE_NEON_AARCH64 defines, but it still is cleaner
to not build extra empty object files than to build all *.S files
on all arm variants. (The iOS project files build all of the arm
assembly files, regardless of the target architecture, since
individual files can't easily be excluded based on the target
architecture there.)
2014-04-23 11:41:17 +03:00
Martin Storsjö
764f787dcb Rename the makefile variable for arm assembly sources
This is in preparation for adding support for the aarc64 assembly
files as well.
2014-04-23 10:55:30 +03:00
Martin Storsjö
3026958bde Rename the msvc-arm platform file to msvc-wp
The architecture handling is now decoupled from the main
platform file. Now you can build for Windows Phone for x86 (for
the emulator) by "make OS=msvc-wp ARCH=x86".
2014-04-11 10:54:34 +03:00
Martin Storsjö
48f7470867 Move all x86 vs arm handling to msvc-common 2014-04-11 10:54:34 +03:00
Martin Storsjö
1ee52616ac Remove a duplicate -MD declaration 2014-04-11 10:51:58 +03:00
Martin Storsjö
b1f35347eb Set -MTd/-MDd in the same way as -MT/-MD
This was overlooked in 67e5b04.
2014-04-11 10:27:14 +03:00
Licai Guo
67e5b041c2 this patch remove dependency of MSVC version
the output dll now only depends on kernel32.dll
2014-04-10 18:05:41 -07:00
Andoni Morales Alastruey
3a4cea63ef Rename cpufeatures symbols to avoid colisions in static builds
This fixes potential duplicated symbols in static links
with other libraries including the cpufeatures.o object file
2014-04-08 11:25:01 +02:00
Martin Storsjö
b35c21201b Use the Windows Runtime ThreadPool API for creating threads on Windows Phone
Windows Phone lacks the old CreateThread/beginthreadex APIs for
creating threads. (Technically, the functions still do exist,
but they aren't officially supported and aren't visible in the
headers when targeting Windows Phone.)

Building code that uses the Windows Runtime language extensions
requires building with the -ZW option.
2014-04-01 11:18:49 +03:00
volvet
9f50e0c91e clean multi-threading macro 2014-03-31 18:24:10 -07:00
Martin Storsjö
21559a2d7d Remove an unnecessary 'cd' in the mktargets.sh script
There's no need to return to the original directory at the end of
a script - the current working directory within the subshell that
executes the script doesn't affect the working directory in the
calling shell.
2014-03-27 08:58:56 +02:00
Varun B Patil
0d6764c62f Attempt to change to root dir before executing python script
When inside a git repo, attempt to change to the root dir
before running python script. Prevents a bunch of errors
when mktargets.sh is executed from the wrong dir.
2014-03-27 11:37:39 +05:30
Martin Storsjö
d024dc5cc0 Remove unused *_LIBS make variables 2014-03-25 10:13:29 +02:00
Licai Guo
f26bb57415 reorganize tests 2014-03-24 22:14:43 -07:00
Varun B Patil
064ad29f80 Better error reporting in mktargets.py 2014-03-24 12:56:06 +05:30
Ethan Hugg
e8540af9eb Merge pull request #541 from licaiguo/disable-warnings
disable most warnings produced by -Wall
2014-03-19 09:17:34 -07:00
Martin Storsjö
2ca8ef4bd3 Automatically pick the latest installed iOS SDK when building with make
This avoids having to update the makefile just to change the SDK
version whenever the iOS SDK is updated (since the previous
version is removed on updates).
2014-03-19 10:32:42 +02: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
Licai Guo
31a93de513 add missing build files 2014-03-18 19:47:26 -07:00
Ethan Hugg
197423f271 Merge pull request #520 from ylatuya/master
Fix compiler warnings and remove dead code
2014-03-18 13:28:02 -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ö
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
Martin Storsjö
00efbc2cb5 Enable the arm assembly in msvc-arm builds
This requires using the external gas-preprocessor tool that
converts the gnu assembler format sources to armasm format at
build time. This allows keeping the source files in one single
format but only converting while building.
2014-03-17 20:28:12 +02:00
Martin Storsjö
d723ad2774 Use -DPREFIX instead of --prefix _ on OS X
The --prefix parameter differs between yasm and nasm; nasm
requires --prefix _ while yasm requires --prefix=_. Using the
define instead (as on windows) allows easier switching between
the two otherwise mostly compatible assemblers.

This fixes building with yasm on OS X in 32 bit mode. For 64 bit,
a few more tweaks are still required.
2014-03-16 11:59:34 +02: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
Ethan Hugg
567302eb9a Merge pull request #410 from mstorsjo/android-armeabi
Allow building plain armeabi binaries for android
2014-03-10 09:44:19 -07:00
Licai Guo
6d9dfe8954 Merge pull request #454 from mstorsjo/android-any-arch
Support building for any other android architecture
2014-03-10 17:20:58 +08:00
Martin Storsjö
67a9e73a7c Set the arch to armv7 by default when building for iOS
Otherwise it would build for the simulator by default, which
in most cases probably isn't what was intended.
2014-03-09 01:46:43 +02:00
Martin Storsjö
8f88f60637 Explicitly sort the files in mktargets.py
This avoids spurious changes to the targets.mk files when mktargets
is rerun on different platforms and different file systems.

In particular, OS X seems to mostly return files sorted
alphabetically, case insensitively, while they are returned in
a file system specific order on linux.
2014-03-08 01:55:39 +02:00
Martin Storsjö
918af27560 Support building for any other android architecture
This allows e.g. building for mips, as a plain C++ build with
no assembly.
2014-03-08 01:22:31 +02:00
volvet
ffde7b2e09 Merge pull request #442 from mstorsjo/unify-thread-cleanup
Unify the thread cleanup code, enable threading on android
2014-03-07 18:14:03 +08:00
Martin Storsjö
181fe0a99e Enable multithreading on android 2014-03-07 10:51:28 +02:00
Martin Storsjö
30fff7ece0 Allow building plain armeabi binaries for android
Building with "make OS=android APP_ABI=armeabi" will
produce arm binaries that will conform to the armeabi
ABI - not using any features outside of armv5te by
default (but still optionally using the NEON functions at
runtime if detected - even though such devices should rather
use the default armeabi-v7a build).
2014-03-06 08:15:55 +02:00
Licai Guo
36ae8d9f6c use stlport to replace libgnuc++, this remove GCCVERSION variable 2014-03-05 22:15:36 -08:00
Licai Guo
585c526b1f rebase on latest code, refine android build 2014-03-05 17:32:03 -08:00
Licai Guo
61dae45fad Merge pull request #421 from mstorsjo/android-x86-build
Fix building android on x86
2014-03-06 09:07:26 +08:00
Martin Storsjö
506826a8ae Fix building android on x86
In 70360cb11, the ASM variable was moved to the x86-common file
even though the android build file didn't include neither
platform-arch.mk nor platform-x86-common.mk.

Instead of explicitly declaring ASM here, include platform-arch.mk
and remove setting of the flags that platform-arch.mk sets.

This is inspired by and based on a patch by Licai Guo.
2014-03-05 15:19:18 +02:00
Martin Storsjö
0df3a068ba Don't add -DNO_DYNAMIC_VP to ASMFLAGS
None of the assembly source uses this define for anything.
2014-03-05 15:02:53 +02:00
Martin Storsjö
dae8f4b737 Exclude the arm assembly header as well
This avoids warnings about object files not containing any symbols.
2014-03-04 23:23:19 +02:00
Ethan Hugg
01a2f582c3 Merge pull request #401 from mstorsjo/android-arm-assembly
Enable the arm assembly in android builds
2014-03-04 09:50:07 -08:00
Martin Storsjö
773cc4a797 Exclude assembly files that are used as headers
This avoids some warnings about object files not containing any
symbols.
2014-03-04 14:57:36 +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ö
23ab117240 Don't set -mfpu=neon while building the normal C++ files
This will make the normal C++ code not run on non-NEON devices at
all, making the runtime CPU feature detection pointless.

Adding -mfpu=neon to CFLAGS is not necessary, it's enough to
add it while building those individual .S files (via ASMFLAGS).
2014-03-04 08:56:42 +02:00
Martin Storsjö
30c7810cdf Enable the android runtime CPU feature detection
Build and include the android cpufeatures library in libcommon.
2014-03-04 08:56:42 +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ö
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ö
3ccd2ae4cf Remove a redundant makefile ifdef
ASM_ARCH=x86 is only set if USE_ASM is enabled.
2014-03-01 23:56:14 +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ö
078681a097 Add a platform file for building for iOS using the makefile build system
This doesn't build the actual demo apps that you can run on the
phone (not yet at least), but is useful for easily testing compilation
in different setups, and for building a precompiled static library for
use in external projects.
2014-02-28 10:19:53 +02:00
Martin Storsjö
ab3609c4c7 Don't add x86 assembly specific options on darwin if building for other archs
This avoids warnings about using the -read_only_relocs suppress
if building for other architectures than x86.
2014-02-28 10:19:53 +02:00
Martin Storsjö
fbc7519d90 Don't explicitly set/clear USE_ASM in the android makefile
The USE_ASM variable is architecture independent now and only
controls whether assembly optimizations should be enabled in
the general sense, regardless of the target architecture.
2014-02-28 10:19:53 +02:00
Martin Storsjö
7d2c761604 Allow using the USE_ASM makefile variable for architectures other than x86
Add an ASM_ARCH variable which specifies which kind of assembly
is supposed to be built.
2014-02-28 10:19:53 +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
Martin Storsjö
8d95d0841d Indent nested ifdefs in the android makefile
This makes the makefile slightly more readable.
2014-02-28 10:19:52 +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ö
113fb8c104 Set GTEST_HAS_TR1_TUPLE to 0 on msvc
This fixes building of gtest on msvc.

See e.g. http://stackoverflow.com/questions/8274588 for
more discussion on the matter.

This is only required on MSVC 2012 - gtest itself (in the cmake
files) adds -D_VARIADIC_MAX=10 to the build when building using
MSVC 2012, but we don't know the MSVC version at the make stage
here. Since the gtest tuple support isn't used at all, it's
simpler to just disable it altogether than to try to add
-D_VARIADIC_MAX=10.
2014-02-24 15:38:37 +02:00
Martin Storsjö
af2a354202 Remove the now unused -Wno-deprecated-declarations on OS X
This was only required for building with OpenSSL.
2014-02-24 15:38:36 +02:00
Martin Storsjö
c6cea2ccac Use -dynamiclib instead of -shared for building shared libraries on OS X
Older toolchains don't recognize the -shared parameter.
2014-02-24 12:05:21 +02:00
Ethan Hugg
df6f92096a Merge pull request #330 from mstorsjo/android-build-fixes
Android build fixes/cleanups
2014-02-20 15:39:22 -08:00
Martin Storsjö
a8a2c5eaba Move LDFLAGS specific to creating a shared library to SHLDFLAGS 2014-02-20 12:28:00 +02:00
Martin Storsjö
f6126a0bb8 Don't add C++ specific compiler flags to CFLAGS, add them to CXXFLAGS 2014-02-20 12:28:00 +02:00
Martin Storsjö
0fc2b6d14e Set the CC and AR tools when building for android as well 2014-02-20 12:28:00 +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ö
fc06d8783b Pass the right -mfpu flags for the armeabi-v7a target without NEON 2014-02-20 12:28:00 +02:00
Martin Storsjö
b5a9a83c69 Run ndk-build from the android project top level directory
One doesn't need to run the ndk-build command from within the
jni subdirectory, calling it from the project top level directory
works just as well.

Also remove an unnecessary step of cd ../../../.. at the end -
since all make commands are run in a subshell, we don't need to
restore the current working directory afterwards.
2014-02-20 12:28:00 +02:00
Martin Storsjö
6ac6b941cf Don't quote the android building commands in sh -c ''
The full command line can be written as such without any extra
wrapping.
2014-02-20 12:28:00 +02:00
Martin Storsjö
4d31f66873 Chain build commands using && instead of ;
This makes sure the build aborts as soon as possible if there is an
error, instead of having the error message drown in all the
following output.
2014-02-20 12:28:00 +02:00
Martin Storsjö
317eb437b0 Enable x86 assembly by default if building for x86 android
Most users would probably miss enabling it otherwise.

It can still be disabled manually by passing USE_ASM=No on the
make command line.
2014-02-20 11:23:41 +02:00
Licai Guo
538d22560f refine android build, add TARGET option to specify target in sdk 2014-02-19 20:49:30 -08:00
Licai Guo
f6e4ed6524 enable x86 asm for android 2014-02-19 17:31:21 -08:00
Martin Storsjö
e3fce5095b Explicitly allow read-only relocations when building on OS X in 32 bit mode
This fixes building libwels.dylib, since the assembly code
isn't position independent.
2014-02-19 21:17:57 +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ö
03c00dc226 Include the x86 common header for x86 MSVC as well 2014-02-19 21:04:30 +02:00
Licai Guo
d058176c3b add android support, single commit 2014-02-18 17:54:27 -08:00
Martin Storsjö
d262129e92 Set CC wherever we set CXX 2014-02-12 22:12:33 +02:00
Martin Storsjö
ce22f84a2b Regenerate target makefiles after the latest mktargets.py changes 2014-02-12 22:11:05 +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ö
d0185ab253 Remove redundant /./ parts from pathnames in makefiles
This is mostly a cosmetic improvement for the quiet make output.
2014-02-08 18:46:52 +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
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
Ethan Hugg
977768ac88 Merge pull request #222 from mstorsjo/enable-threading
Enable threading when building for most platforms
2014-01-27 14:50:13 -08:00
Ethan Hugg
00a76419b4 Merge pull request #237 from mstorsjo/simplify-make-lib-rules
Simplify the make rules for creating libraries
2014-01-27 14:09:20 -08:00
Martin Storsjö
d36939580a Removed an unused pair of files generated by MSVC project wizards
These files aren't actually even referenced by the MSVC project
files.
2014-01-27 22:55:33 +02:00
Ethan Hugg
2a55578a98 Merge pull request #208 from mstorsjo/remove-unused-mk-field
Remove an unnecessary field from generated makefiles
2014-01-27 08:55:23 -08:00
Martin Storsjö
ea8a00278f Simplify the make rules for creating libraries 2014-01-27 14:45:18 +02:00
Martin Storsjö
8062596d23 Fix building threading for freebsd
FreeBSD (and at least NetBSD as well) still use hw.ncpu without
deprecating it, contrary to apple.
2014-01-26 10:40:24 +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ö
a239637be5 Fix building for freebsd in 64 bit mode 2014-01-26 10:21:56 +02:00
Martin Storsjö
253c2c84b3 Do chdir within mktargets.py
This simplifies the calling shell script.
2014-01-24 15:09:11 +02:00
Martin Storsjö
7df69c1482 Remove an unnecessary field from generated makefiles 2014-01-24 15:02:40 +02:00
Martin Storsjö
8a932fbe85 Remove excludes of nonexistent files 2014-01-23 22:55:36 +02:00
Martin Storsjö
3cacaf85f1 Include the executable suffix within make
This makes sure that e.g. "make clean" actually removes
the built exe files, and avoids relinking the exe files each
time make is run when cross compiling from linux to windows.

(Make on windows seems to have an exception that knows to skip
rebuilding the 'h264enc' target if 'h264enc' doesn't exist but
'h264enc.exe' does, but this exception doesn't work on normal
unix make.)
2014-01-23 16:15:22 +02:00
Martin Storsjö
797a19e367 Define MACOS when building for OS X
The library uses this define to enable OS X specific functionality
in general, even if none of those snippets actually have been
strictly required so far.
2014-01-21 21:17:59 +02:00
Ethan Hugg
b6dcd94cb0 Merge pull request #180 from mstorsjo/remove-disabled-bundle-loading
Remove disabled/broken/unused code for bundle loading in the console tools
2014-01-21 10:30:28 -08:00
Martin Storsjö
35ad8cb3a5 Remove an exclude of an nonexistent file 2014-01-21 14:59:41 +02:00
Martin Storsjö
41928236e4 Remove unused files about macos bundle loading from the console tools 2014-01-21 14:59:41 +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
Varun B Patil
2d83e4561a Don't execute mktargets.py if cannot cd into correct directory 2014-01-20 21:52:36 +05:30
Varun B Patil
d78906aa21 Cleanup mktargets.py
1.Remove semicolons
2.close file
2014-01-19 21:39:20 +05:30
Ethan Hugg
00e9293433 Update msvc options from VS projects. 2014-01-17 12:56:15 -08:00
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
Martin Storsjö
a8d549e343 Omit assembler source rules if no asm sources are found 2014-01-17 18:52:46 +02:00
Martin Storsjö
7f6cdb516d Add platform files for msvc and msvc-arm
Build with "make UNAME=msvc" to invoke this.
2014-01-17 12:06:12 +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
Varun B Patil
a00b0ca79b simplify gtest makefile 2014-01-16 23:33:20 +05:30
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
EKR
b7a5d70212 don't choke on deprecated sha-1 routines 2014-01-09 10:36:12 -08:00
Ethan Hugg
f85911e331 Merge pull request #117 from mstorsjo/make-patterns
Use make patterns to avoid needing autogenerated rules for each source file
2014-01-08 09:48:31 -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
Martin Storsjö
80669ed059 Use make patterns to avoid needing autogenerated rules for each source file 2014-01-08 16:33:35 +02:00
Ethan Hugg
319ae0253b Merge pull request #98 from mstorsjo/trailing-whitespace-platform
Get rid of trailing whitespace in the platform makefiles
2014-01-06 09:35:24 -08:00
Martin Storsjö
0ad7c4c9b6 Get rid of trailing whitespace in the platform makefiles 2014-01-05 14:48:52 +02:00
Martin Storsjö
12d7f72eec Mark the mktargets shell/python scripts executable 2014-01-05 14:43:53 +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
unknown
1e5a290855 1. fix gcc 3.4 link error.
2. fix mingw build issue when enable asm
2014-01-02 17:19:25 +08:00
Ethan Hugg
71e48218c4 Merge pull request #63 from mstorsjo/crossbuild
Use $(AR) instead of explicitly calling 'ar'
2013-12-27 08:23:06 -08:00
V
7fa09903cf Add MinGW platform makefile and related source changes 2013-12-23 21:42:31 +01:00
Ethan Hugg
77fde5c9bc Turn on -Werror for OSX builds 2013-12-19 17:05:30 -08: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ö
785ac16d28 Use $(AR) instead of explicitly calling 'ar'
This simplifies overriding the command used, e.g. for cross
compilation.
2013-12-17 12:29:21 +02:00
Ethan Hugg
5d616714c4 Merge pull request #54 from rmuch/freebsd-build
Add FreeBSD platform makefile
2013-12-16 09:37:11 -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
Rupert Muchembled
51c121f947 Add FreeBSD platform makefile
Add platform-freebsd.mk makefile to allow building on FreeBSD.

OpenH264 builds and runs successfully on FreeBSD 9.2-RELEASE amd64, with both
the gcc and clang compilers.

Note that building i386 binaries with the native toolchain using the -m32 flag
on amd64 FreeBSD is unsupported and will not work, so ENABLE64BIT should always
be set to Yes when compiling on a FreeBSD amd64 system.
2013-12-16 07:10:26 +00:00
Licai Guo
ac6828f4fa Enable 64-bit build on Linux & Mac 2013-12-14 20:37:33 -08:00
Martin Storsjö
f9dea46712 Remove trailing whitespace
Most of it was removed in ff6b669176 from C++ source files,
but other files were left unchanged.
2013-12-13 11:24:17 +02:00
Ethan Hugg
ff6b669176 Pretty printed the C++ code with astyle 2013-12-12 14:21:12 -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