[go: nahoru, domu]

Skip to content

Commit

Permalink
Build 4185
Browse files Browse the repository at this point in the history
  • Loading branch information
bmtannen-intel committed Jun 25, 2014
1 parent ab6a25e commit fc1b873
Show file tree
Hide file tree
Showing 114 changed files with 10,739 additions and 3,723 deletions.
28 changes: 18 additions & 10 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# @copyright
# Copyright (C) 2011, Intel Corporation
# Copyright (C) 2011-2014, Intel Corporation
# All rights reserved.
#
# @copyright
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
Expand All @@ -17,7 +15,6 @@
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# @copyright
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
Expand All @@ -40,10 +37,8 @@ AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4

# Compiler and linker flags.
GENERAL_FLAGS = -I$(top_srcdir)/include -DIN_CILK_RUNTIME=1
GENERAL_FLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/runtime -I$(top_srcdir)/runtime/config/$(config_dir) -DIN_CILK_RUNTIME=1
GENERAL_FLAGS += -fpic -O3
GENERAL_FLAGS += -DBUILD_USER=\"$(USER)\"
GENERAL_FLAGS += -DBUILD_HOST=\"`hostname`\"

# Enable Intel Cilk Plus extension
GENERAL_FLAGS += -fcilkplus
Expand All @@ -56,10 +51,11 @@ AM_LDFLAGS = -lpthread -ldl
lib_LTLIBRARIES = libcilkrts.la

libcilkrts_la_SOURCES = \
runtime/config/$(config_dir)/cilk-abi-vla.c \
runtime/config/$(config_dir)/os-unix-sysdep.c \
runtime/bug.cpp \
runtime/cilk-abi.c \
runtime/cilk-abi-cilk-for.cpp \
runtime/cilk-abi-vla.c \
runtime/cilk-abi-vla-internal.c \
runtime/cilk_api.c \
runtime/cilk_fiber.cpp \
Expand All @@ -86,13 +82,25 @@ libcilkrts_la_SOURCES = \
runtime/sysdep-unix.c \
runtime/worker_mutex.c


# Load the $(REVISION) value.
include include/internal/rev.mk

libcilkrts_la_LDFLAGS = -rpath '$(libdir)'
libcilkrts_la_LDFLAGS += -version-info 5:$(CILK_REVISION):0
#libcilkrts_la_LDFLAGS = -rpath '$(libdir)'
libcilkrts_la_LDFLAGS = -version-info 5:0:0
libcilkrts_la_LDFLAGS += -lpthread -ldl

# If we're building on Linux, use the Linux version script
if LINUX_LINKER_SCRIPT
libcilkrts_la_LDFLAGS += -Wl,--version-script,$(srcdir)/runtime/linux-symbols.ver
endif

# If we're building on MacOS, use the Mac versioning
if MAC_LINKER_SCRIPT
libcilkrts_la_LDFLAGS += -Wl,-exported_symbols_list,$(srcdir)/runtime/mac-symbols.txt
endif


# Hack for Cygwin
libcilkrts_la_LDFLAGS += -no-undefined

Expand Down
170 changes: 170 additions & 0 deletions Makefile.gcc.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
# Copyright (C) 2011-2014, Intel Corporation
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Intel Corporation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
# WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.

AUTOMAKE_OPTIONS = foreign

# Use when building GCC
ACLOCAL_AMFLAGS = -I .. -I ../config

# Compiler and linker flags.
GENERAL_FLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/runtime -I$(top_srcdir)/runtime/config/$(config_dir) -DIN_CILK_RUNTIME=1
GENERAL_FLAGS += -D_Cilk_spawn="" -D_Cilk_sync="" -D_Cilk_for=for

# Enable Intel Cilk Plus extension
GENERAL_FLAGS += -fcilkplus

AM_CFLAGS = $(GENERAL_FLAGS) -std=c99
AM_CPPFLAGS = $(GENERAL_FLAGS)
AM_LDFLAGS = -lpthread -ldl

# Target list.
toolexeclib_LTLIBRARIES = libcilkrts.la

libcilkrts_la_SOURCES = \
runtime/config/$(config_dir)/cilk-abi-vla.c \
runtime/config/$(config_dir)/os-unix-sysdep.c \
runtime/bug.cpp \
runtime/cilk-abi.c \
runtime/cilk-abi-cilk-for.cpp \
runtime/cilk-abi-vla-internal.c \
runtime/cilk_api.c \
runtime/cilk_fiber.cpp \
runtime/cilk_fiber-unix.cpp \
runtime/cilk_malloc.c \
runtime/c_reducers.c \
runtime/except-gcc.cpp \
runtime/frame_malloc.c \
runtime/full_frame.c \
runtime/global_state.cpp \
runtime/jmpbuf.c \
runtime/local_state.c \
runtime/metacall_impl.c \
runtime/os_mutex-unix.c \
runtime/os-unix.c \
runtime/pedigrees.c \
runtime/record-replay.cpp \
runtime/reducer_impl.cpp \
runtime/scheduler.c \
runtime/signal_node.c \
runtime/spin_mutex.c \
runtime/stats.c \
runtime/symbol_test.c \
runtime/sysdep-unix.c \
runtime/worker_mutex.c


# Load the $(REVISION) value.
include include/internal/rev.mk

#libcilkrts_la_LDFLAGS = -rpath '$(libdir)'
libcilkrts_la_LDFLAGS = -version-info 5:0:0
libcilkrts_la_LDFLAGS += -lpthread -ldl

# If we're building on Linux, use the Linux version script
if LINUX_LINKER_SCRIPT
libcilkrts_la_LDFLAGS += -Wl,--version-script,$(srcdir)/runtime/linux-symbols.ver
endif

# If we're building on MacOS, use the Mac versioning
if MAC_LINKER_SCRIPT
libcilkrts_la_LDFLAGS += -Wl,-exported_symbols_list,$(srcdir)/runtime/mac-symbols.txt
endif


# Hack for Cygwin
libcilkrts_la_LDFLAGS += -no-undefined

# C/C++ header files for Cilk.
cilkincludedir = $(includedir)/cilk
cilkinclude_HEADERS = \
include/cilk/cilk_api.h \
include/cilk/cilk_api_linux.h \
include/cilk/cilk.h \
include/cilk/cilk_stub.h \
include/cilk/cilk_undocumented.h \
include/cilk/common.h \
include/cilk/holder.h \
include/cilk/hyperobject_base.h \
include/cilk/metaprogramming.h \
include/cilk/reducer_file.h \
include/cilk/reducer.h \
include/cilk/reducer_list.h \
include/cilk/reducer_max.h \
include/cilk/reducer_min.h \
include/cilk/reducer_min_max.h \
include/cilk/reducer_opadd.h \
include/cilk/reducer_opand.h \
include/cilk/reducer_opmul.h \
include/cilk/reducer_opor.h \
include/cilk/reducer_opxor.h \
include/cilk/reducer_ostream.h \
include/cilk/reducer_string.h


# Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and
# friends when we are called from the top level Makefile.
AM_MAKEFLAGS = \
"AR_FLAGS=$(AR_FLAGS)" \
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
"CFLAGS=$(CFLAGS)" \
"CXXFLAGS=$(CXXFLAGS)" \
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
"INSTALL=$(INSTALL)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
"JC1FLAGS=$(JC1FLAGS)" \
"LDFLAGS=$(LDFLAGS)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
"MAKE=$(MAKE)" \
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
"PICFLAG=$(PICFLAG)" \
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
"SHELL=$(SHELL)" \
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
"exec_prefix=$(exec_prefix)" \
"infodir=$(infodir)" \
"libdir=$(libdir)" \
"prefix=$(prefix)" \
"includedir=$(includedir)" \
"AR=$(AR)" \
"AS=$(AS)" \
"LD=$(LD)" \
"LIBCFLAGS=$(LIBCFLAGS)" \
"NM=$(NM)" \
"PICFLAG=$(PICFLAG)" \
"RANLIB=$(RANLIB)" \
"DESTDIR=$(DESTDIR)"

MAKEOVERRIDES=

4 changes: 2 additions & 2 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ autoconf and automake packages, which are available through your
favorite package manager. You also need a C/C++ compiler that
supports the Intel Cilk Plus language extensions, since the runtime
uses Intel Cilk Plus features internally. Use either the Intel(R)
C++ Compiler (icc command) v12.1 or later, or the "cilkplus" branch
in GCC (gcc command).
C++ Compiler (icc command) v12.1 or later, or in GCC 4.9 or later
(gcc command).

Once you have the necessary prerequisites installed, you can use the
following commands to create the library:
Expand Down
63 changes: 61 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# @copyright
# Copyright (C) 2011, Intel Corporation
# Copyright (C) 2011-2013, Intel Corporation
# All rights reserved.
#
# @copyright
Expand Down Expand Up @@ -32,14 +32,73 @@
# POSSIBILITY OF SUCH DAMAGE.

AC_INIT([Cilk Runtime], [2.0], [cilk@intel.com])
AC_PREREQ([2.67])
AC_PREREQ([2.63])

# Needed to define ${target}. Needs to be very early to avoid annoying
# warning about calling AC_ARG_PROGRAM before AC_CANONICAL_SYSTEM
AC_CANONICAL_SYSTEM

AM_INIT_AUTOMAKE([1.11 no-define])

# Check whether alloca.h is available
AC_FUNC_ALLOCA

# Build a DLL on Windows
AC_LIBTOOL_WIN32_DLL
AC_PROG_CXX
AC_PROG_CC
AC_PROG_LIBTOOL
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_FILES([Makefile])

# Check whether the target supports protected visibility.
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
AC_TRY_COMPILE([void __attribute__((visibility("protected"))) foo(void) { }],
[], libcilkrts_cv_have_attribute_visibility=yes,
libcilkrts_cv_have_attribute_visibility=no)
CFLAGS="$save_CFLAGS"
if test $libcilkrts_cv_have_attribute_visibility = yes; then
AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1,
[Define to 1 if the target supports __attribute__((visibility(...))).])
fi

# Set config_dir based on the target. config_dir specifies where to get
# target-specific files. The generic implementation is incomplete, but
# contains information on what's needed
case "${target}" in

x86_64-*-*)
config_dir="x86"
;;

i[456]86-*-*)
config_dir="x86"
;;

*)
config_dir="generic"
;;

esac
AC_SUBST(config_dir)

# We have linker scripts for appropriate operating systems
linux_linker_script=no
case "${host}" in
*-*-linux*)
linux_linker_script=yes
;;
esac
AM_CONDITIONAL(LINUX_LINKER_SCRIPT, test "$linux_linker_script" = "yes")

mac_linker_script=no
case "${host}" in
*-*-apple*)
mac_linker_script=yes
;;
esac
AM_CONDITIONAL(MAC_LINKER_SCRIPT, test "$mac_linker_script" = "yes")

# Must be last
AC_OUTPUT
Loading

0 comments on commit fc1b873

Please sign in to comment.