Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bf4cc97 authored by Dan Albert's avatar Dan Albert
Browse files

Fix building static host executables.

BUILD_HOST_static=1 forces all host binaries to be statically linked.
Since -nodefaultlibs was passed (to disable libstdc++), libgcc wasn't
being passed. This change emulates the driver's behavior.

Also fix default STL selection for BUILD_HOST_static.

Bug: 19567451
Change-Id: I617aab782d40ac76ca5a7d9dddf0f202a4e3a69b
parent 6492792d
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -10,6 +10,11 @@ ifeq ($(strip $(LOCAL_CXX_STL)),default)
        # Platform code. Select the appropriate STL.
        ifndef USE_MINGW
            my_cxx_stl := libc++
            ifdef LOCAL_IS_HOST_MODULE
                ifneq (,$(BUILD_HOST_static))
                    my_cxx_stl := libc++_static
                endif
            endif
        else
            # libc++ is not supported on mingw.
            my_cxx_stl := libstdc++
@@ -33,7 +38,8 @@ ifneq ($(filter $(my_cxx_stl),libc++ libc++_static),)
    ifdef LOCAL_IS_HOST_MODULE
        my_cppflags += -nostdinc++
        my_ldflags += -nodefaultlibs
        my_ldlibs += -lc -lm -lpthread
        my_ldlibs += -lpthread -lm
        my_ldlibs += -Wl,--start-group -lgcc -lgcc_eh -lc -Wl,--end-group
    endif
else ifneq ($(filter $(my_cxx_stl),stlport stlport_static),)
    ifndef LOCAL_IS_HOST_MODULE
@@ -61,7 +67,8 @@ else ifeq ($(my_cxx_stl),libstdc++)
else ifeq ($(my_cxx_stl),none)
    ifdef LOCAL_IS_HOST_MODULE
        my_cppflags += -nostdinc++
        my_ldflags += -nodefaultlibs -lc -lm
        my_ldflags += -nodefaultlibs
        my_ldlibs += -lm -Wl,--start-group -lgcc -lgcc_eh -lc -Wl,--end-group
    endif
else
    $(error $(my_cxx_stl) is not a supported STL.)