Commit Graph

196 Commits

Author SHA1 Message Date
Martin Storsjö
397e20b0f3 Install the import library via the EXTRA_LIB mechanism on mingw as well
Prior to 3f69873c99, there already was a mechanism for installing
the import library, used for the MSVC builds. Use that for mingw
as well, instead of adding more hardcoded rules.
2014-12-01 15:40:25 +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
ruil2
ed341048de refine common moudle for part of intra prediction function 2014-09-25 14:03:11 +08:00
zhuiling
9913b73cb1 improve py and mk 2014-09-12 10:30:56 +08:00
zhuiling
9e7a19291c improve py 2014-09-12 10:29:07 +08:00
zhuiling
0fe477625c improve py, and change mk according to mk 2014-09-12 10:25:46 +08:00
zhuiling
6b64efbf92 improve py 2014-09-12 09:59:46 +08:00
zhuiling
235f6e3474 improve py 2014-09-12 09:56:51 +08:00
zhuiling
77552551f7 py improvement according to Martin's sugesstion 2014-09-12 09:39:14 +08:00
zhuiling
a1dbf6ab13 make clean without OS ARCH except android platform 2014-09-05 16:38:28 +08:00
Martin Storsjö
0f9c2dbb12 Check for $(CXX).exe as well when checking for the android toolchain
This fixes building for android on windows.

Building for android on windows still requires MSYS for running make,
but running the ndk-build of the sample projects from within MSYS
doesn't seem to work (the OS variable from the OpenH264 makefile
interferes with the host system detection in ndk-build), so one still
needs to build it in two steps, first make OS=android ... libopenh264.so,
then building the sample projects manually.
2014-08-13 14:23:09 +03:00
Martin Storsjö
d5a45ec513 Mark the x86 assembly object files as not requiring an executable stack
This avoids having to add extra linker flags in order to specify this.

This is similar to how this already is handled for the arm assembly.
2014-07-25 00:56:39 +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ö
33a7e02261 Check that a working android toolchain was found
If the user selects a nonexistent ARCH, previously the call that
sets TOOLCHAINPREFIX would set it to contain a long error message,
which makes it quite hard to figure out what actually went wrong.

Instead check that CXX=$(TOLCHAINPREFIX)g++ actually points to a
working executable, and abort immediately if this isn't true.
2014-07-24 01:09:45 +03:00
Martin Storsjö
22f04159bb Fix incorrect indentation in build/platform-android.mk 2014-07-16 21:33:14 +03:00
Martin Storsjö
04f066ae7c Add support for building for the new 64 bit android ABIs
This requires the new NDK r10.

The mips64 ABI is handled by the default case, there's no need to
add custom code for that in platform-android.mk.
2014-07-16 21:32:54 +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
ruil2
4edc5f60a1 Merge pull request #1126 from mstorsjo/android-simplify
Avoid repeated code for getting the android toolchain prefix
2014-07-10 09:31:57 +08:00
Martin Storsjö
a11fdcd647 Set -Zi instead of -ZI when building with MSVC in debug mode
The -ZI option is only supported when building for 32 bit x86,
when building for x64 or for arm, it gives the warning "/ZI is
not supported on this platform; enabling /Zi instead".

-ZI is for "edit & continue" debugging, which one probably wouldn't
be doing with a build outside of the IDE anyway, so keep it simple
instead of trying to set -ZI specifically for x86 32 bit builds.
2014-07-09 15:13:41 +03:00
Martin Storsjö
6bf65da869 Avoid repeated code for getting the android toolchain prefix 2014-07-09 11:10:33 +03:00
Martin Storsjö
d9f12135d4 Don't pass -L. to the MSVC linker
This avoids warnings - this parameter isn't necessary on MSVC.
2014-07-03 22:05:55 +03:00
zhilwang
ba7dca89d5 Merge pull request #1070 from mstorsjo/remove-unused-function
Remove an unused function in mktargets.py
2014-07-03 13:48:21 +08:00
zhilwang
56edea9bcd Merge pull request #1066 from mstorsjo/android-cpufeatures-dir
Build the android cpu-features.o file in codec/common/src
2014-07-03 13:47:14 +08:00
zhilwang
0ef26d6a3f Merge pull request #1068 from mstorsjo/android-clean
Ignore failures in cleaning android projects
2014-07-03 13:46:59 +08:00
Martin Storsjö
323dc793da Remove an unused function in mktargets.py 2014-07-02 16:56:39 +03:00
Martin Storsjö
dd05a655c2 Regenerate test/common/targets.mk via the mktargets.sh script as well 2014-07-02 15:07:02 +03:00
Martin Storsjö
239050d73c Ignore failures in cleaning android projects
If the android test projects hasn't been built yet, the "make clean"
command will stop at "ant clean" (which fails since build.xml doesn't
exist yet). If this happens, one still would want to run the "make
clean" command to the end, cleaning up any possible intermediate object
files (e.g. from a build for a different platform).
2014-07-02 13:42:52 +03:00
Martin Storsjö
10eeea52fe Build the android cpu-features.o file in codec/common/src
Up until now it was built in codec/common (where all other common
source files were built, until they were split up into
inc/src/x86/arm/arm64).
2014-07-02 13:39:26 +03:00
Martin Storsjö
7ae3fbcfbf Share one implementation of the CReadConfig class between the decoder and encoder console apps 2014-06-30 09:04:12 +03:00
Martin Storsjö
16a4066e7f Generate dependencies while building for android 2014-06-26 15:11:17 +03:00
Martin Storsjö
0f1f158d8b Don't build an unused libmodule.a file
This also avoids another manual edit in module/targets.mk. Now
the file is completely autogenerated by the build/mktargets.sh
script, just as all the other targets.mk files.
2014-06-25 09:12:06 +03:00
Martin Storsjö
5e9492cb6e Use a less generic name for linking to STL when building the plugin for android
This matches the common naming scheme more closely for adding extra
flags to individual parts of the build.

Also deduplicate the static stlport lib name.
2014-06-25 09:12:06 +03:00
Martin Storsjö
b3f7896a51 Inject STL_INCLUDES via MODULE_INCLUDES for the gmp plugin
This avoids having to rely on manual modifications to targets.mk,
which are overwritten if the targets.mk files are regenerated
via the script.
2014-06-25 08:59:55 +03:00
enda mannion
7c0b92e3f6 building plugin on Android 2014-06-24 12:32:09 +01:00
Ethan Hugg
0bc0b71ef3 Rollup of Gecko Media Plugin patches 2014-06-17 19:54:16 -07:00
lingzhu
7818c4f30b Update platform-ios.mk 2014-06-09 09:22:54 +08:00
zhuling13
647182d67c remove comments 2014-06-08 18:12:21 -07:00
zhuling13
cb1c0f9b5a modify 2014-06-06 02:44:22 -07:00
zhuling13
d6ac7f4a60 add iosutdemo 2014-06-05 01:20:50 -07:00
zhuling13
6bf7ad4e2b and space to colon, modify bad note 2014-06-04 18:23:19 -07:00
zhuling13
b4c8f6b778 for cleaning .o and .d files generated by android demo 2014-06-02 20:21:10 -07:00
Martin Storsjö
3f982a4de4 Clarify a comment about MSVC parameters to fix building gtest
The temporary bug in gtest has now been fixed, but we still can keep
using the current way of fixing MSVC 2012 builds instead of switching
to the solution used previously.
2014-05-16 08:54:36 +03:00
Martin Storsjö
a6ad04cfdf Don't pass all MSVC specific cflags to gas-preprocessor and armasm
This avoids having to disambiguate between assembler parameters,
preprocessor parameters and MSVC parameters within gas-preprocessor.

In particular, this avoids creating a stray dependency file named
'-.d' while building. Future versions of gas-preprocessor might
require this in order to build at all.
2014-05-13 19:40:51 +03:00
Martin Storsjö
3cc01c6239 Use CCASFLAGS when assembling .S sources
This allows overriding whether all of CFLAGS should be passed
when assembling.
2014-05-13 19:39:26 +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
Martin Storsjö
e8e2cbcc28 Revert "Set ASM_ARCH in all cases to fix Win64 Debug build"
This reverts commit 09025dc8ef.

There is no need to set ASM_ARCH unless assembly sources actually
are built. ASM_ARCH is no longer used for setting unrelated CFLAGS.
2014-05-09 19:34:49 +03:00
Martin Storsjö
4635232d93 Don't manually define WIN32/WIN64
All the code that relies on separating them uses the built-in defines
_WIN32 and _WIN64, or the corresponding machine defines (such as
_M_IX86, for MSVC 32 bit inline assembly).
2014-05-09 19:34:04 +03:00
Ethan Hugg
09025dc8ef Set ASM_ARCH in all cases to fix Win64 Debug build 2014-05-07 05:40:13 +00:00
Martin Storsjö
853e71eb88 Fix building gtest on MSVC
The previous define change in 1e607d71 only made it work on MSVC
2005 and 2008, but broke things even more for 2010 and newer.
(One shouldn't override the internal details about which tuple
implementation to use, since one implementation don't work on
all versions.) Since we don't need or use the gtest tuple code,
the simplest workaround used to be just to disable it altogether,
but that was broken in r682 in gtest.

This has been tested and works on MSVC 2005, 2008, 2010, 2012 and
2013.
2014-05-06 11:14:41 +03:00