From 0268060cbc8999b52b5dbcffed7ac7cfbace53db Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Tue, 23 Nov 2010 15:46:40 -0800 Subject: Fix build race condition. Before this change, referencing source in parent dir, such as "../SEC_OMX_Vdec.c", results in obj files spilling into the top obj dir. What's worse, the same source is included in more than 1 module, so the obj file may be written concurrently by multiple build jobs. Because gmake use the path string to detect if 2 targets point to the same file, make could not even issue a warning for duplicate rules. I believe this is the root cause of the following transient build error: 1) out/target/product/stingray/obj/SHARED_LIBRARIES/libOMX.SEC.AVC.Encoder_intermediates/../SEC_OMX_Venc.P:54: *** missing separator. Stop. 2) prebuilt/darwin-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: error: out/target/product/stingray/obj/SHARED_LIBRARIES/libOMX.SEC.M4V.Encoder_intermediates/../SEC_OMX_Venc.o: unknown mandatory EABI object attribute 46 Change-Id: I07721771d3afa86bd96703960c3a13305c424d60 --- sec_mm/sec_omx/Android.mk | 3 ++- .../sec_omx/sec_omx_component/video/dec/Android.mk | 20 ++++++++++++++++++++ .../sec_omx_component/video/dec/h264dec/Android.mk | 3 +-- .../sec_omx_component/video/dec/mpeg4dec/Android.mk | 3 +-- .../sec_omx/sec_omx_component/video/enc/Android.mk | 20 ++++++++++++++++++++ .../sec_omx_component/video/enc/h264enc/Android.mk | 3 +-- .../sec_omx_component/video/enc/mpeg4enc/Android.mk | 3 +-- 7 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk create mode 100644 sec_mm/sec_omx/sec_omx_component/video/enc/Android.mk (limited to 'sec_mm') diff --git a/sec_mm/sec_omx/Android.mk b/sec_mm/sec_omx/Android.mk index e59c3ae..cbae428 100644 --- a/sec_mm/sec_omx/Android.mk +++ b/sec_mm/sec_omx/Android.mk @@ -14,8 +14,9 @@ include $(SEC_OMX_TOP)/sec_omx_core/Android.mk include $(SEC_CODECS)/Android.mk include $(SEC_OMX_COMPONENT)/common/Android.mk +include $(SEC_OMX_COMPONENT)/video/dec/Android.mk include $(SEC_OMX_COMPONENT)/video/dec/h264dec/Android.mk include $(SEC_OMX_COMPONENT)/video/dec/mpeg4dec/Android.mk +include $(SEC_OMX_COMPONENT)/video/enc/Android.mk include $(SEC_OMX_COMPONENT)/video/enc/h264enc/Android.mk include $(SEC_OMX_COMPONENT)/video/enc/mpeg4enc/Android.mk - diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk b/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk new file mode 100644 index 0000000..772c477 --- /dev/null +++ b/sec_mm/sec_omx/sec_omx_component/video/dec/Android.mk @@ -0,0 +1,20 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + SEC_OMX_Vdec.c + +LOCAL_MODULE := libSEC_OMX_Vdec +LOCAL_ARM_MODE := arm +LOCAL_MODULE_TAGS := optional + +LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ + $(SEC_OMX_INC)/sec \ + $(SEC_OMX_TOP)/sec_osal \ + $(SEC_OMX_TOP)/sec_omx_core \ + $(SEC_OMX_COMPONENT)/common \ + $(SEC_OMX_COMPONENT)/video/dec + +LOCAL_C_INCLUDES += $(SEC_OMX_TOP)/sec_codecs/video/mfc_c110/include + +include $(BUILD_STATIC_LIBRARY) diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/Android.mk b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/Android.mk index baabbad..f6e6802 100644 --- a/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/Android.mk +++ b/sec_mm/sec_omx/sec_omx_component/video/dec/h264dec/Android.mk @@ -4,7 +4,6 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := \ - ../SEC_OMX_Vdec.c \ SEC_OMX_H264dec.c \ library_register.c @@ -15,7 +14,7 @@ LOCAL_CFLAGS := LOCAL_ARM_MODE := arm -LOCAL_STATIC_LIBRARIES := libsecosal libsecbasecomponent libsecmfcdecapi +LOCAL_STATIC_LIBRARIES := libSEC_OMX_Vdec libsecosal libsecbasecomponent libsecmfcdecapi LOCAL_SHARED_LIBRARIES := libc libdl libcutils libutils LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ diff --git a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/Android.mk b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/Android.mk index 36eae52..a7a6053 100644 --- a/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/Android.mk +++ b/sec_mm/sec_omx/sec_omx_component/video/dec/mpeg4dec/Android.mk @@ -4,7 +4,6 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := \ - ../SEC_OMX_Vdec.c \ SEC_OMX_Mpeg4dec.c \ library_register.c @@ -15,7 +14,7 @@ LOCAL_CFLAGS := LOCAL_ARM_MODE := arm -LOCAL_STATIC_LIBRARIES := libsecosal libsecbasecomponent libsecmfcdecapi +LOCAL_STATIC_LIBRARIES := libSEC_OMX_Vdec libsecosal libsecbasecomponent libsecmfcdecapi LOCAL_SHARED_LIBRARIES := libc libdl libcutils libutils LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ diff --git a/sec_mm/sec_omx/sec_omx_component/video/enc/Android.mk b/sec_mm/sec_omx/sec_omx_component/video/enc/Android.mk new file mode 100644 index 0000000..aa671f8 --- /dev/null +++ b/sec_mm/sec_omx/sec_omx_component/video/enc/Android.mk @@ -0,0 +1,20 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + SEC_OMX_Venc.c + +LOCAL_MODULE := libSEC_OMX_Venc +LOCAL_ARM_MODE := arm +LOCAL_MODULE_TAGS := optional + +LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ + $(SEC_OMX_INC)/sec \ + $(SEC_OMX_TOP)/sec_osal \ + $(SEC_OMX_TOP)/sec_omx_core \ + $(SEC_OMX_COMPONENT)/common \ + $(SEC_OMX_COMPONENT)/video/dec + +LOCAL_C_INCLUDES += $(SEC_OMX_TOP)/sec_codecs/video/mfc_c110/include + +include $(BUILD_STATIC_LIBRARY) diff --git a/sec_mm/sec_omx/sec_omx_component/video/enc/h264enc/Android.mk b/sec_mm/sec_omx/sec_omx_component/video/enc/h264enc/Android.mk index 861896d..8f25409 100644 --- a/sec_mm/sec_omx/sec_omx_component/video/enc/h264enc/Android.mk +++ b/sec_mm/sec_omx/sec_omx_component/video/enc/h264enc/Android.mk @@ -4,7 +4,6 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := \ - ../SEC_OMX_Venc.c \ SEC_OMX_H264enc.c \ library_register.c @@ -15,7 +14,7 @@ LOCAL_CFLAGS := LOCAL_ARM_MODE := arm -LOCAL_STATIC_LIBRARIES := libsecosal libsecbasecomponent libsecmfcencapi +LOCAL_STATIC_LIBRARIES := libSEC_OMX_Venc libsecosal libsecbasecomponent libsecmfcencapi LOCAL_SHARED_LIBRARIES := libc libdl libcutils libutils LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ diff --git a/sec_mm/sec_omx/sec_omx_component/video/enc/mpeg4enc/Android.mk b/sec_mm/sec_omx/sec_omx_component/video/enc/mpeg4enc/Android.mk index 2ad28b8..e4e4ee4 100644 --- a/sec_mm/sec_omx/sec_omx_component/video/enc/mpeg4enc/Android.mk +++ b/sec_mm/sec_omx/sec_omx_component/video/enc/mpeg4enc/Android.mk @@ -4,7 +4,6 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := \ - ../SEC_OMX_Venc.c \ SEC_OMX_Mpeg4enc.c \ library_register.c @@ -15,7 +14,7 @@ LOCAL_CFLAGS := LOCAL_ARM_MODE := arm -LOCAL_STATIC_LIBRARIES := libsecosal libsecbasecomponent libsecmfcencapi +LOCAL_STATIC_LIBRARIES := libSEC_OMX_Venc libsecosal libsecbasecomponent libsecmfcencapi LOCAL_SHARED_LIBRARIES := libc libdl libcutils libutils LOCAL_C_INCLUDES := $(SEC_OMX_INC)/khronos \ -- cgit v1.1