Skip to content

Commit

Permalink
Merge pull request #196 from NiLuJe/master
Browse files Browse the repository at this point in the history
Misc minor build tweaks.
  • Loading branch information
houqp committed Jul 4, 2014
2 parents 6932ef4 + 247f0f8 commit a6bdb7c
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 10 deletions.
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ $(PNG_LIB): $(CRENGINE_LIB)
# by default, mupdf compiles to a static library:
# we generate a dynamic library from the static library:
$(MUPDF_LIB): $(JPEG_LIB) $(FREETYPE_LIB)
$(MAKE) -j$(PROCESSORS) -C mupdf generate build="release" CC="$(HOSTCC)" \
env CFLAGS="$(HOSTCFLAGS)" \
$(MAKE) -j$(PROCESSORS) -C mupdf generate build="release" CC="$(HOSTCC)" \
OS="Other" verbose=1
$(MAKE) -j$(PROCESSORS) -C mupdf \
LDFLAGS="-L../$(OUTPUT_DIR)" \
Expand Down
57 changes: 48 additions & 9 deletions Makefile.defs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ endif
# set CC CXX AR LD RANLIB
ifeq ($(TARGET), kindle)
CHOST?=arm-linux-gnueabi
else ifeq ($(TARGET), kindle5)
CHOST?=arm-kindle5-linux-gnueabi
else ifeq ($(TARGET), kindlepw2)
CHOST?=arm-kindlepw2-linux-gnueabi
else ifeq ($(TARGET), kindle-legacy)
CHOST?=arm-kindle-linux-gnueabi
else ifeq ($(TARGET), kobo)
CHOST?=arm-linux-gnueabihf
else ifeq ($(TARGET), android)
Expand Down Expand Up @@ -58,6 +64,9 @@ PROCESSORS:=$(shell grep processor /proc/cpuinfo|wc -l)
BASE_CFLAGS:=-O2 -ffast-math -pipe -fomit-frame-pointer
# Use this for debugging:
#BASE_CFLAGS:=-O0 -g
# For ricers.
#BASE_CFLAGS:=-O3 -ffast-math -pipe -fomit-frame-pointer -frename-registers -fweb

# Misc GCC tricks to ensure backward compatibility with the K2,
# even when using a fairly recent TC (Linaro/MG).
# NOTE: -mno-unaligned-access is needed for TC based on Linaro 4.6/4.7
Expand All @@ -67,14 +76,45 @@ BASE_CFLAGS:=-O2 -ffast-math -pipe -fomit-frame-pointer
# fixup (echo 2 > /proc/cpu/alignment) in the launch script,
# but that's terribly ugly, and might severly nerf performance...
# That said, MG 2012.03 is still using GCC 4.6.3, so we're good ;).
ARM_BACKWARD_COMPAT_CFLAGS:=-fno-stack-protector -U_FORTIFY_SOURCE -D_GNU_SOURCE -fno-finite-math-only
ARM_BACKWARD_COMPAT_CXXFLAGS:=-fno-use-cxa-atexit
ARM_ARCH:=-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -marm

KINDLE_LEGACY_COMPAT_CFLAGS:=-fno-stack-protector -U_FORTIFY_SOURCE -D_GNU_SOURCE -fno-finite-math-only
KINDLE_LEGACY_COMPAT_CXXFLAGS:=-fno-use-cxa-atexit
ARMV6_1136_ARCH:=-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -marm

# Generic armv6
ARMV6_GENERIC_ARCH:=march=armv6 -mtune=generic-armv6
# Cortex A8 (Kindle Touch, PW1, Kobos since the Touch)
ARMV7_A8_ARCH:=-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb
# Cortex A9 (Kindle PW2)
ARMV7_A9_ARCH:=-march=armv7-a -mtune=cortex-a9 -mfpu=neon -mthumb
# Android. FIXME: What do we want here? armv6? armv7? ARM? THUMB? Which FPU?
ANDROID_ARCH:=-march=armv6 -mtune=generic-armv6

# Use target-specific CFLAGS
ifeq ($(TARGET), kobo)
ARM_ARCH += -mfloat-abi=hard
# NOTE: If we only care about Kobos w/ a Touch screen, we're good.
ARM_ARCH:=$(ARMV7_A8_ARCH)
ARM_ARCH+=-mfloat-abi=hard
else ifeq ($(TARGET), kindle)
# FIXME: Will possibly need compat flags, depending on how far away from an actual Kindle the TC used by the buildbot is...
ARM_ARCH:=$(ARMV7_A8_ARCH)
ARM_ARCH+=-mfloat-abi=softfp
else ifeq ($(TARGET), kindle5)
ARM_ARCH:=$(ARMV7_A8_ARCH)
ARM_ARCH+=-mfloat-abi=softfp
else ifeq ($(TARGET), kindlepw2)
ARM_ARCH:=$(ARMV7_A9_ARCH)
ARM_ARCH+=-mfloat-abi=softfp
else ifeq ($(TARGET), kindle-legacy)
ARM_ARCH:=$(KINDLE_LEGACY_COMPAT_CFLAGS) $(KINDLE_LEGACY_COMPAT_CXXFLAGS) $(ARMV6_1136_ARCH)
ARM_ARCH+=-mfloat-abi=softfp
else ifeq ($(TARGET), android)
ARM_ARCH:=$(ANDROID_ARCH)
# FIXME: is this accurate on Android?
ARM_ARCH+=-mfloat-abi=softfp
else
ARM_ARCH += -mfloat-abi=softfp
# Defaults to generic crap
ARM_ARCH:=$(ARMV6_GENERIC_ARCH)
ARM_ARCH+=-mfloat-abi=softfp
endif

HOST_ARCH:=-march=native
Expand Down Expand Up @@ -117,9 +157,8 @@ else
CC:=$(strip $(CCACHE) $(CC))
CXX:=$(strip $(CCACHE) $(CXX))
AR:=$(strip $(CCACHE) $(AR))
CFLAGS+= $(ARM_ARCH) $(ARM_BACKWARD_COMPAT_CFLAGS)
CXXFLAGS+= $(ARM_ARCH) $(ARM_BACKWARD_COMPAT_CFLAGS) \
$(ARM_BACKWARD_COMPAT_CXXFLAGS)
CFLAGS+= $(ARM_ARCH)
CXXFLAGS+= $(ARM_ARCH)
endif

# set a flag that C code can differenciate on for Kobo code
Expand Down

0 comments on commit a6bdb7c

Please sign in to comment.