package/ncurses: fix builds with both shared and static libs

When both shared and static libs are enabled, we have two shell
constructs to run, but they are not properly separated, leading to build
failures like:

    ln -sf libncursesw.a /home/idnc_sk/IOLINUX/builds/micro-x86_64-corei7/
    output/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libcurse
    s.a for lib in libncurses libmenu libpanel libform; do ln -sf ${lib}w.
    so /home/idnc_sk/IOLINUX/builds/micro-x86_64-corei7/output/host/usr/x8
    6_64-buildroot-linux-uclibc/sysroot/usr/lib/${lib}.so; done
    /bin/bash: -c: line 0: syntax error near unexpected token `do'
    /bin/bash: -c: line 0: `ln -sf libncursesw.a /home/idnc_sk/IOLINUX/bui
    lds/micro-x86_64-corei7/output/host/usr/x86_64-buildroot-linux-uclibc/
    sysroot/usr/lib/libcurses.a for lib in libncurses libmenu libpanel lib
    form; do ln -sf ${lib}w.so /home/idnc_sk/IOLINUX/builds/micro-x86_64-c
    orei7/output/host/usr/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/${
    lib}.so; done'

As can be seen, there is a missing semi-colon ';' between the symlink
command and the for loop:

    ln -sf libncursesw.a [...]/libcurses.a for lib in [...]

Fix that by adding a semi-colon after each first shell constructs, to
properly separate the two. If the second one is not enabled (i.e. for a
static-only build), there is a trailing semi-colon, but that's perfectly
valid shell syntax.

Reported-by: idnc_sk on IRC
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2014-12-21 21:28:43 +01:00 committed by Thomas Petazzoni
parent 9ef15fd63e
commit c56dc003c1

View File

@ -86,10 +86,10 @@ define NCURSES_LINK_PC
endef
NCURSES_LINK_TARGET_LIBS = \
$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_STATIC,$(TARGET_DIR))) \
$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_STATIC,$(TARGET_DIR));) \
$(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_SHARED,$(TARGET_DIR)))
NCURSES_LINK_STAGING_LIBS = \
$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_STATIC,$(STAGING_DIR))) \
$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_STATIC,$(STAGING_DIR));) \
$(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_SHARED,$(STAGING_DIR)))
NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC,$(STAGING_DIR))