[Bug 759380] New: Fail to build Android NDK projects with multiple Java files

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Dec 11 16:52:24 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=759380

            Bug ID: 759380
           Summary: Fail to build Android NDK projects with multiple Java
                    files
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: cerbero
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: martin at surround.io
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 317244
  --> https://bugzilla.gnome.org/attachment.cgi?id=317244&action=edit
Fix gstreamer-1.0.mk build bug

I have found that, when building Android NDK projects with multiple files
getting installed in org/freedesktop/gstreamer, gstreamer-1.0.mk fails with
errors like this:

cp: target ‘X’ is not a directory

I traced the error down to a missing ";" character in the following lines:

gstreamer-1.0.mk:247
  @$(foreach file,$(GSTREAMER_PLUGINS_CLASSES), \
    $(call host-cp, \
    $(GSTREAMER_NDK_BUILD_PATH)$(file), \
    $(GSTREAMER_JAVA_SRC_DIR)/org/freedesktop/gstreamer/$(file)))

The problem is that make joins multiple calls inside foreach with " ", unless
you add a ";" character, in which case it joins them with "\n". Thus when the
";" character is missing, cp gets confused. By adding it, the issue goes away
and the correct copy occurs. More information below:

http://stackoverflow.com/questions/30220311/what-does-semicolon-termination-inside-a-makefiles-define-directive-do

The attached patch fixes this issue and a few others, caused by the same issue.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list