diff --git a/Makefile b/Makefile index 911a3c6..e45d3c4 100644 --- a/Makefile +++ b/Makefile @@ -39,6 +39,7 @@ include Makefile.dreamtorus include Makefile.dreamtorus_static include Makefile.alphatorus include Makefile.tiger +include Makefile.nacl # Testing diff --git a/Makefile.glu b/Makefile.glu index 9df0418..3043f07 100644 --- a/Makefile.glu +++ b/Makefile.glu @@ -36,7 +36,6 @@ GLU.OBJS := $(GLU.OBJS:.c=.o) $(GLU.OBJS:.cc=.o) GLU.OBJS := $(filter %.o,$(GLU.OBJS)) GLU.DEPS := $(GLU.OBJS:.o=.d) GLU.LIBS := -Llib/$(SYSTEM) -lRegal -GLU.LIBS += -lstdc++ GLU.LIBS += -pthread -lm -include $(GLU.DEPS) diff --git a/Makefile.nacl b/Makefile.nacl index e5fa8f8..6a6cb90 100644 --- a/Makefile.nacl +++ b/Makefile.nacl @@ -36,8 +36,8 @@ NACL.SRCS.NAMES := $(notdir $(NACL.SRCS)) NACL.OBJS := $(addprefix tmp/$(SYSTEM)/nacl/static/,$(NACL.SRCS.NAMES)) NACL.OBJS := $(NACL.OBJS:.c=.o) NACL.CFLAGS := -Iinclude -NACL.LIBS += -Llib/$(SYSTEM) -lRegal -NACL.LIBS += -lpng -lz -lm -pthread -lppapi -lppapi_gles2 -lstdc++ +NACL.LIBS += -Llib/$(SYSTEM) -lRegal -lglslopt +NACL.LIBS += -lpng -lz -lm -pthread -lppapi -lppapi_gles2 -include $(NACL.DEPS) diff --git a/Makefile.regal b/Makefile.regal index 04a1c88..147a391 100644 --- a/Makefile.regal +++ b/Makefile.regal @@ -18,9 +18,9 @@ include build/regal.inc export: python scripts/Export.py --api gl 4.4 --api wgl 4.4 --api glx 4.4 --api cgl 1.4 --api egl 1.0 --outdir . -# Shared library target not currently supported for NaCL or emscripten +# Shared library target not currently supported for emscripten -ifneq ($(filter nacl% emscripten%,$(SYSTEM)),) +ifneq ($(filter emscripten%,$(SYSTEM)),) REGAL.SHARED := endif @@ -35,7 +35,7 @@ all:: regal.lib clean:: regal.clean -REGAL.LDFLAGS := -lstdc++ -pthread -lm +REGAL.LDFLAGS := -pthread -lm REGAL.LIBS := ifeq ($(filter nacl%,$(SYSTEM)),) @@ -105,7 +105,7 @@ endif # Emscripten options -ifneq ($(filter nacl% emscripten%,$(SYSTEM)),) +ifneq ($(filter emscripten%,$(SYSTEM)),) REGAL.CFLAGS += -DREGAL_SYS_EMSCRIPTEN=1 -DREGAL_SYS_EGL=1 -DREGAL_SYS_ES2=1 REGAL.CFLAGS += -DREGAL_HTTP=0 REGAL.CFLAGS += -DREGAL_STATISTICS=0 @@ -196,12 +196,16 @@ REGAL.SDEPS := $(LIBS.SOBJS:.o=.d) REGAL.LIBS += $(LDFLAGS.X11) -ifneq ($(filter linux%,$(SYSTEM)),) +ifneq ($(filter nacl% linux%,$(SYSTEM)),) +ifeq ($(NACL_LIBC),newlib) +REGAL.SHARED := +else REGAL.SONAME := lib$(NAME).so.$(SO_MAJOR) REGAL.DEVLNK := lib$(NAME).so REGAL.SHARED := lib$(NAME).so.$(SO_VERSION) REGAL.LDFLAGS.SO := $(LDFLAGS.SO) $(LDFLAGS.DYNAMIC) -Wl,-soname=$(REGAL.SONAME) endif +endif ifneq ($(filter darwin%,$(SYSTEM)),) REGAL.SONAME := lib$(NAME).$(SO_MAJOR).dylib @@ -235,12 +239,6 @@ ifdef APITRACE.STATIC lib/$(SYSTEM)/$(REGAL.STATIC): lib/$(SYSTEM)/$(APITRACE.STATIC) lib/$(SYSTEM)/$(SNAPPY.STATIC) endif -ifneq ($(filter nacl%,$(SYSTEM)),) -ifeq ($(NACL_LIBC),glibc) -regal.lib: lib/$(SYSTEM)/$(REGAL.SHARED) -endif -endif - lib/$(SYSTEM)/$(REGAL.STATIC): lib/$(SYSTEM)/$(GLSLOPT.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC) $(REGAL.OBJS) @mkdir -p $(dir $@) $(LOG_AR)$(CCACHE) $(AR) cr $@ $(REGAL.OBJS) diff --git a/Makefile.regaltest b/Makefile.regaltest index fdebf3a..98a419f 100644 --- a/Makefile.regaltest +++ b/Makefile.regaltest @@ -7,7 +7,7 @@ include build/common.inc # Not supported for NaCL - Revisit -ifeq ($(filter nacl% emscripten%,$(SYSTEM)),) +ifeq ($(filter emscripten%,$(SYSTEM)),) include build/regaltest.inc @@ -75,7 +75,7 @@ test: bin/$(SYSTEM)/regaltest$(BIN_EXTENSION) ifeq ($(filter nacl%,$(SYSTEM)),) $^ else - "$(NACL_SEL_LDR)" -a -B "$(NACL_IRT)" -- $^ + "$(NACL_SDK_ROOT)/tools/sel_ldr.py" $^ endif endif diff --git a/Makefile.regalw b/Makefile.regalw index 3577769..012938e 100644 --- a/Makefile.regalw +++ b/Makefile.regalw @@ -18,9 +18,9 @@ REGALW.SHARED ?= libRegal.so REGALW.STATIC := -# Shared library target not currently supported for NaCL or emscripten +# Shared library target not currently supported for emscripten -ifneq ($(filter nacl% emscripten%,$(SYSTEM)),) +ifneq ($(filter emscripten%,$(SYSTEM)),) REGALW.SHARED := endif @@ -31,7 +31,7 @@ all:: regalw.lib clean:: regalw.clean -REGALW.LDFLAGS := -lstdc++ -pthread -lm +REGALW.LDFLAGS := -pthread -lm REGALW.LIBS := REGALW.SRCS := $(REGAL.CXX) diff --git a/README.rst b/README.rst index a8d5d84..600c336 100644 --- a/README.rst +++ b/README.rst @@ -380,9 +380,7 @@ PPAPI and NaCl * NACL_SDK_ROOT needs to be set -* NACL_LIBC=newlib is the default, specify NACL_LIBC=glibc as an alternative - -* regaltest requires pepper_26 or newer +* NACL_LIBC=newlib is the default, specify glibc or pnacl as alternatives Questions and Answers ===================== diff --git a/build/common.inc b/build/common.inc index 6049b68..5ae16e0 100644 --- a/build/common.inc +++ b/build/common.inc @@ -51,12 +51,12 @@ OPT ?= $(CFLAGS.RELEASE) endif ifndef V -LOG_CXX ?= @echo " [CXX] $@"; -LOG_CC ?= @echo " [CC] $@"; -LOG_LD ?= @echo " [LD] $@"; -LOG_AR ?= @echo " [AR] $@"; +LOG_CXX ?= @echo " [CXX] $@"; +LOG_CC ?= @echo " [CC] $@"; +LOG_LD ?= @echo " [LD] $@"; +LOG_AR ?= @echo " [AR] $@"; LOG_RANLIB ?= @echo " [RANLIB] $@"; -LOG_STRIP ?= @echo " [STRIP] $@"; +LOG_STRIP ?= @echo " [STRIP] $@"; endif INCLUDE ?= -Iinclude diff --git a/build/glu.inc b/build/glu.inc index 3788977..f4dd54f 100644 --- a/build/glu.inc +++ b/build/glu.inc @@ -102,9 +102,10 @@ GLU.CXX += src/glu/libnurbs/nurbtess/searchTree.cc GLU.CFLAGS := -Isrc/glu/include -Isrc/glu/libnurbs/interface -Isrc/glu/libnurbs/internals -Isrc/glu/libnurbs/nurbtess GLU.CFLAGS += -DLIBRARYBUILD -GLU.SHARED := libRegalGLU.so -GLU.STATIC := libRegalGLUlib.a +GLU.STATIC := libRegalGLU.a ifneq ($(filter darwin%,$(SYSTEM)),) GLU.SHARED := libRegalGLU.dylib +else +GLU.SHARED := libRegalGLU.so endif diff --git a/build/pcre.inc b/build/pcre.inc index d253c38..7a941c6 100644 --- a/build/pcre.inc +++ b/build/pcre.inc @@ -65,7 +65,7 @@ PCRE.C += src/pcre/pcre_get.c PCRE.C += src/pcre/pcre_globals.c #PCRE.C += src/pcre/pcregrep.c PCRE.C += src/pcre/pcre_jit_compile.c -PCRE.C += src/pcre/pcre_jit_test.c +#PCRE.C += src/pcre/pcre_jit_test.c PCRE.C += src/pcre/pcre_maketables.c PCRE.C += src/pcre/pcre_newline.c PCRE.C += src/pcre/pcre_ord2utf8.c diff --git a/build/regal.inc b/build/regal.inc index 32e7933..71ec2a6 100644 --- a/build/regal.inc +++ b/build/regal.inc @@ -153,5 +153,5 @@ ifeq ($(PROFILE_OS),Windows) REGAL.INCLUDE += -Isrc/glsl/include/c99 endif -REGAL.STATIC ?= libRegallib.a +REGAL.STATIC ?= libRegal.a REGAL.SHARED ?= libRegal.so diff --git a/config/Makefile.nacl-pnacl b/config/Makefile.nacl-pnacl index a0ee95c..9bfbe1d 100644 --- a/config/Makefile.nacl-pnacl +++ b/config/Makefile.nacl-pnacl @@ -2,7 +2,7 @@ NACL_ARCH := pnacl include config/nacl.inc -NACL_TOOLCHAIN := $(NACL_SDK_ROOT)/toolchain/$(NACL_OS)_x86_pnacl/$(NACL_LIBC) +NACL_TOOLCHAIN := $(NACL_SDK_ROOT)/toolchain/$(NACL_OS)_pnacl CC := $(NACL_TOOLCHAIN)/bin/pnacl-clang CXX := $(NACL_TOOLCHAIN)/bin/pnacl-clang++ @@ -13,7 +13,6 @@ STRIP ?= BIN_EXTENSION = .pexe EXT.DYNAMIC = so -LDFLAGS.EXTRA = LIBDIR = CFLAGS.EXTRA += LDFLAGS.EXTRA += diff --git a/config/nacl.inc b/config/nacl.inc index d86d4e7..66a9b05 100644 --- a/config/nacl.inc +++ b/config/nacl.inc @@ -48,8 +48,12 @@ export CCACHE_COMPILERCHECK=echo $(SYSTEM)$(NACL_LIBC)$(NACL_SDK_ROOT) ifeq ($(NACL_ARCH),i686) NACL_LIBTYPE=$(NACL_LIBC)_x86_32 else +ifeq ($(NACL_ARCH),pnacl) +NACL_LIBTYPE=$(NACL_ARCH) +else NACL_LIBTYPE=$(NACL_LIBC)_$(NACL_ARCH) endif +endif ifeq ($(MODE),debug) LDFLAGS.EXTRA += -L$(NACL_SDK_ROOT)/ports/lib/$(NACL_LIBTYPE)/Debug diff --git a/src/apitrace/common/os_posix.cpp b/src/apitrace/common/os_posix.cpp index 28abb97..b49fd40 100644 --- a/src/apitrace/common/os_posix.cpp +++ b/src/apitrace/common/os_posix.cpp @@ -123,7 +123,7 @@ getCurrentDir(void) size_t size = PATH_MAX; char *buf = path.buf(size); - getcwd(buf, size); + buf = getcwd(buf, size); buf[size - 1] = 0; path.truncate(); diff --git a/src/boost/boost/print/detail.hpp b/src/boost/boost/print/detail.hpp index 9cb3643..49aa043 100644 --- a/src/boost/boost/print/detail.hpp +++ b/src/boost/boost/print/detail.hpp @@ -325,7 +325,7 @@ inline size_t unsigned_length(const unsigned long val) { return unsigned_length( inline size_t unsigned_length(const unsigned long val) { return unsigned_length(static_cast(val)); } #endif -#if defined(__native_client__) && (defined(__i386) || defined(__x86_64) || defined(__arm__)) +#if defined(__native_client__) inline size_t unsigned_length(const unsigned long val) { return unsigned_length(static_cast(val)); } #endif diff --git a/src/regal/RegalShader.cpp b/src/regal/RegalShader.cpp index d59249f..65cceeb 100644 --- a/src/regal/RegalShader.cpp +++ b/src/regal/RegalShader.cpp @@ -233,7 +233,7 @@ namespace Shader { bool status; }; - static inline void debug_print_ir (const char* name, exec_list* ir, _mesa_glsl_parse_state* state, void* memctx) + static inline void REGAL_UNUSED debug_print_ir (const char* name, exec_list* ir, _mesa_glsl_parse_state* state, void* memctx) { //_mesa_print_ir (ir, state); Error( "GLSLOptimize debug **** ", name, ":", diff --git a/src/regal/RegalUtil.h b/src/regal/RegalUtil.h index 4bf9e75..0df4078 100644 --- a/src/regal/RegalUtil.h +++ b/src/regal/RegalUtil.h @@ -56,7 +56,7 @@ #endif #ifndef REGAL_UNUSED -#if defined(__GNUC__) && !defined(__clang__) +#if defined(__GNUC__) #define REGAL_UNUSED __attribute__((unused)) #else #define REGAL_UNUSED