diff options
Diffstat (limited to 'packaging/nacl/ports/regal')
-rw-r--r-- | packaging/nacl/ports/regal/build.sh | 29 | ||||
-rw-r--r-- | packaging/nacl/ports/regal/nacl.patch | 319 | ||||
-rw-r--r-- | packaging/nacl/ports/regal/pkg_info | 8 |
3 files changed, 356 insertions, 0 deletions
diff --git a/packaging/nacl/ports/regal/build.sh b/packaging/nacl/ports/regal/build.sh new file mode 100644 index 000000000..5ba6bd0bf --- /dev/null +++ b/packaging/nacl/ports/regal/build.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Copyright (c) 2013 The Native Client Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +BUILD_DIR=${SRC_DIR} + +MAKE_ARGS="SYSTEM=nacl-${NACL_ARCH} NACL_LIBC=${NACL_LIBC} -j${OS_JOBS}" + +BuildStep() { + LogExecute make ${MAKE_ARGS} clobber + LogExecute make ${MAKE_ARGS} regal.lib +} + +TestStep() { +# LogExecute make ${MAKE_ARGS} test + return 0 +} + +InstallStep() { + MakeDir ${DESTDIR_LIB} + MakeDir ${DESTDIR_INCLUDE} + LogExecute cp -a lib/nacl-${NACL_ARCH}/libRegal*.a ${DESTDIR_LIB}/ + LogExecute cp -a lib/nacl-${NACL_ARCH}/libglslopt.a ${DESTDIR_LIB}/ + if [ "${NACL_SHARED}" = 1 ]; then + LogExecute cp -a lib/nacl-${NACL_ARCH}/libRegal*.so* ${DESTDIR_LIB}/ + fi + LogExecute cp -r include/GL ${DESTDIR_INCLUDE}/ +} diff --git a/packaging/nacl/ports/regal/nacl.patch b/packaging/nacl/ports/regal/nacl.patch new file mode 100644 index 000000000..be592b3a7 --- /dev/null +++ b/packaging/nacl/ports/regal/nacl.patch @@ -0,0 +1,319 @@ +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<boost::uint32_t>(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<boost::uint32_t>(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 diff --git a/packaging/nacl/ports/regal/pkg_info b/packaging/nacl/ports/regal/pkg_info new file mode 100644 index 000000000..a76111b2f --- /dev/null +++ b/packaging/nacl/ports/regal/pkg_info @@ -0,0 +1,8 @@ +NAME=regal +VERSION=f106e4cd +URL=https://github.com/p3/regal/archive/f106e4cd/Regal-f106e4cd.tar.gz +ARCHIVE_ROOT=regal-f106e4cd0e780b0995a26498365dceb0ed025832 +DEPENDS=(libpng) +DISABLED_ARCH=(pnacl) +DISABLED_LIBC=(bionic) +SHA1=6e8cd18c44a83e7eb17d123b5e0ec8cdceff9ea2 |