From c970ba72369cba043f8f8db711bd0ffdc1f589e0 Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Mon, 27 Jul 2015 21:29:45 +0200 Subject: Build system: initial cygwin support This is an initial cygwin support reported by its contributor, Jonathan L, to produce a working gcc cross compiler for arm. Signed-off-by: Jonathan L Signed-off-by: Abdoulaye Walsimou Gaye --- core/mk/glibc.mk | 13 +++++++++++++ core/mk/host-support.mk | 8 ++++++++ scripts/kconfig/Makefile | 4 +++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/core/mk/glibc.mk b/core/mk/glibc.mk index cbc9e8b..ffd4879 100644 --- a/core/mk/glibc.mk +++ b/core/mk/glibc.mk @@ -42,6 +42,10 @@ embtk_glibc_cflags := $(subst -O0,-O1,$(__embtk_glibc_cflags)) # Hard or soft floating point in glibc? embtk_glibc_floattype := $(if $(CONFIG_EMBTK_SOFTFLOAT),--with-fp=no,--with-fp=yes) + +# +# BSD systems compat +# ifeq ($(embtk_buildhost_os_type),bsd) embtk_glibc_buildcflags := -I/opt/local/include -I/usr/local/include -Dstat64=stat ifeq ($(embtk_buildhost_os),macos) @@ -50,6 +54,15 @@ endif embtk_glibc_buildldflags := -L/opt/local/lib -L/usr/local/lib -lintl endif +# +# cygwin compat +# +ifeq ($(embtk_buildhost_os_type),cygwin) +embtk_glibc_buildcflags := -Dstat64=stat +embtk_glibc_buildldflags := -lintl +endif + + # # glibc install # diff --git a/core/mk/host-support.mk b/core/mk/host-support.mk index 9348e1d..4e900c3 100644 --- a/core/mk/host-support.mk +++ b/core/mk/host-support.mk @@ -62,6 +62,10 @@ embtk_buildhost_os := macos embtk_buildhost_os_type := bsd embtk_buildhost-macos := y embtk_buildhost-bsd := y +else ifeq ($(findstring cygwin,$(HOST_ARCH)),cygwin) +embtk_buildhost_os := cygwin +embtk_buildhost_os_type := cygwin +embtk_buildhost-cygwin := y else embtk_buildhost_os := unknown-host-os endif @@ -90,6 +94,10 @@ HOSTCFLAGS = -Wall -O2 -I$(embtk_htools)/usr/include HOSTCXXFLAGS = -Wall -O2 -I$(embtk_htools)/usr/include HOSTLDFLAGS = +ifeq ($(embtk_buildhost_os),cygwin) +HOSTLDFLAGS += -lintl +endif + ifeq ($(embtk_buildhost_os),macos) HOSTCFLAGS += -I/opt/local/include -I$(embtk_includedir) HOSTLDFLAGS += -L/opt/local/lib -lintl diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 5dcac0f..f5a6163 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -127,6 +127,7 @@ help: # lxdialog stuff check-lxdialog := $(srctree)/$(src)/lxdialog/check-lxdialog.sh +check-lxdialog := $(subst //,/,$(check-lxdialog)) # Use recursively expanded variables so we do not call gcc unless # we really need to do so. (Do not call gcc as part of make mrproper) @@ -201,7 +202,8 @@ $(obj)/dochecklxdialog: always := dochecklxdialog # Add environment specific flags -HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS)) +check-sh-script := $(subst //,/,$(srctree)/$(src)/check.sh) +HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-sh-script) $(HOSTCC) $(HOSTCFLAGS)) # generated files seem to need this to find local include files HOSTCFLAGS_zconf.lex.o := -I$(src) -- cgit v1.2.3