iucar / rpms / root

Forked from rpms/root 3 years ago
Clone
0c8b01c
diff -Nur root-6.06.02.orig/cmake/modules/FindUnuran.cmake root-6.06.02/cmake/modules/FindUnuran.cmake
0c8b01c
--- root-6.06.02.orig/cmake/modules/FindUnuran.cmake	1970-01-01 01:00:00.000000000 +0100
0c8b01c
+++ root-6.06.02/cmake/modules/FindUnuran.cmake	2016-03-20 17:53:02.393804958 +0100
0c8b01c
@@ -0,0 +1,21 @@
0c8b01c
+# - Locate Unuran library
0c8b01c
+# Defines:
0c8b01c
+#
0c8b01c
+#  UNURAN_FOUND
0c8b01c
+#  UNURAN_INCLUDE_DIR
0c8b01c
+#  UNURAN_INCLUDE_DIRS (not cached)
0c8b01c
+#  UNURAN_LIBRARIES
0c8b01c
+
0c8b01c
+find_path(UNURAN_INCLUDE_DIR NAMES unuran.h HINTS ${UNURAN_DIR}/include $ENV{UNURAN_DIR}/include /usr/include)
0c8b01c
+find_library(UNURAN_LIBRARY NAMES unuran HINTS ${UNURAN_DIR}/lib $ENV{UNURAN_DIR}/lib)
0c8b01c
+
0c8b01c
+set(UNURAN_INCLUDE_DIRS ${UNURAN_INCLUDE_DIR})
0c8b01c
+set(UNURAN_LIBRARIES ${UNURAN_LIBRARY})
0c8b01c
+
0c8b01c
+
0c8b01c
+# handle the QUIETLY and REQUIRED arguments and set UNURAN_FOUND to TRUE if
0c8b01c
+# all listed variables are TRUE
0c8b01c
+INCLUDE(FindPackageHandleStandardArgs)
0c8b01c
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(UNURAN DEFAULT_MSG UNURAN_LIBRARY UNURAN_INCLUDE_DIR)
0c8b01c
+
0c8b01c
+mark_as_advanced(UNURAN_FOUND UNURAN_INCLUDE_DIR UNURAN_LIBRARY)
0c8b01c
diff -Nur root-6.06.02.orig/cmake/modules/RootBuildOptions.cmake root-6.06.02/cmake/modules/RootBuildOptions.cmake
0c8b01c
--- root-6.06.02.orig/cmake/modules/RootBuildOptions.cmake	2016-03-20 14:37:23.656597032 +0100
0c8b01c
+++ root-6.06.02/cmake/modules/RootBuildOptions.cmake	2016-03-20 17:54:50.896874682 +0100
0c8b01c
@@ -73,6 +73,7 @@
0c8b01c
 ROOT_BUILD_OPTION(builtin_glew ON "Built included libGLEW, or use system libGLEW")
0c8b01c
 ROOT_BUILD_OPTION(builtin_openssl OFF "Build OpenSSL internally, or use system OpenSSL")
0c8b01c
 ROOT_BUILD_OPTION(builtin_pcre OFF "Built included libpcre, or use system libpcre")
0c8b01c
+ROOT_BUILD_OPTION(builtin_unuran OFF "Build included libunuran, or use system libunuran")
0c8b01c
 ROOT_BUILD_OPTION(builtin_zlib OFF "Built included libz, or use system libz")
0c8b01c
 ROOT_BUILD_OPTION(builtin_lzma OFF "Built included liblzma, or use system liblzma")
0c8b01c
 ROOT_BUILD_OPTION(builtin_davix OFF "Built the Davix library internally (downloading tarfile from the Web)")
0c8b01c
diff -Nur root-6.06.02.orig/cmake/modules/RootConfiguration.cmake root-6.06.02/cmake/modules/RootConfiguration.cmake
0c8b01c
--- root-6.06.02.orig/cmake/modules/RootConfiguration.cmake	2016-03-20 15:54:25.926191321 +0100
0c8b01c
+++ root-6.06.02/cmake/modules/RootConfiguration.cmake	2016-03-20 17:53:02.394804968 +0100
0c8b01c
@@ -142,6 +142,11 @@
0c8b01c
 set(zliblib ${ZLIB_LIBRARY})
0c8b01c
 set(zlibincdir ${ZLIB_INCLUDE_DIR})
0c8b01c
 
0c8b01c
+set(builtinunuran ${value${builtin_unuran}})
0c8b01c
+set(unuranlibdir ${UNURAN_LIBRARY_DIR})
0c8b01c
+set(unuranlib ${UNURAN_LIBRARY})
0c8b01c
+set(unuranincdir ${UNURAN_INCLUDE_DIR})
0c8b01c
+
0c8b01c
 set(buildgl ${value${opengl}})
0c8b01c
 set(opengllibdir ${OPENGL_LIBRARY_DIR})
0c8b01c
 set(openglulib ${OPENGL_glu_LIBRARY})
0c8b01c
diff -Nur root-6.06.02.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.06.02/cmake/modules/SearchInstalledSoftware.cmake
0c8b01c
--- root-6.06.02.orig/cmake/modules/SearchInstalledSoftware.cmake	2016-03-20 17:08:52.186461662 +0100
0c8b01c
+++ root-6.06.02/cmake/modules/SearchInstalledSoftware.cmake	2016-03-20 17:53:02.394804968 +0100
0c8b01c
@@ -40,6 +40,16 @@
0c8b01c
   endif()
0c8b01c
 endif()
0c8b01c
 
0c8b01c
+#---Check for Unuran ------------------------------------------------------------------
0c8b01c
+if(NOT builtin_unuran)
0c8b01c
+  message(STATUS "Looking for Unuran")
0c8b01c
+  find_Package(Unuran)
0c8b01c
+  if(NOT UNURAN_FOUND)
0c8b01c
+    message(STATUS "Unuran not found. Switching on builtin_unuran option")
0c8b01c
+    set(builtin_unuran ON CACHE BOOL "" FORCE)
0c8b01c
+  endif()
0c8b01c
+endif()
0c8b01c
+
0c8b01c
 #---Check for Freetype---------------------------------------------------------------
0c8b01c
 if(NOT builtin_freetype)
0c8b01c
   message(STATUS "Looking for Freetype")
0c8b01c
diff -Nur root-6.06.02.orig/config/Makefile.in root-6.06.02/config/Makefile.in
0c8b01c
--- root-6.06.02.orig/config/Makefile.in	2016-03-20 15:54:25.999192031 +0100
0c8b01c
+++ root-6.06.02/config/Makefile.in	2016-03-20 17:53:02.468805698 +0100
0c8b01c
@@ -121,6 +121,11 @@
0c8b01c
 
0c8b01c
 BUILTINPCRE    := @builtinpcre@
0c8b01c
 
0c8b01c
+BUILTINUNURAN  := @builtinunuran@
0c8b01c
+UNURANLIBDIR   := @unuranlibdir@
0c8b01c
+UNURANLIB      := @unuranlib@
0c8b01c
+UNURANINCDIR   := $(filter-out /usr/include, @unuranincdir@)
0c8b01c
+
0c8b01c
 BUILTINZLIB    := @builtinzlib@
0c8b01c
 ZLIBLIBDIR     := @zliblibdir@
0c8b01c
 ZLIBCLILIB     := @zliblib@
0c8b01c
diff -Nur root-6.06.02.orig/configure root-6.06.02/configure
0c8b01c
--- root-6.06.02.orig/configure	2016-03-20 16:48:49.767492974 +0100
0c8b01c
+++ root-6.06.02/configure	2016-03-20 17:53:02.513806142 +0100
0c8b01c
@@ -55,6 +55,7 @@
0c8b01c
    enable_builtin_freetype   \
0c8b01c
    enable_builtin_glew       \
0c8b01c
    enable_builtin_pcre       \
0c8b01c
+   enable_builtin_unuran     \
0c8b01c
    enable_builtin_zlib       \
0c8b01c
    enable_builtin_lzma       \
0c8b01c
    enable_builtin_llvm       \
0c8b01c
@@ -183,6 +184,7 @@
0c8b01c
 enable_builtin_ftgl=no
0c8b01c
 enable_builtin_glew=no
0c8b01c
 enable_builtin_pcre=no
0c8b01c
+enable_builtin_unuran=no
0c8b01c
 enable_builtin_zlib=no
0c8b01c
 enable_builtin_lzma=no
0c8b01c
 enable_builtin_llvm=yes
0c8b01c
@@ -1704,6 +1706,7 @@
0c8b01c
   builtin-freetype   Build included libfreetype, or use system libfreetype
0c8b01c
   builtin-glew       Build included libGLEW, or use system libGLEW
0c8b01c
   builtin-pcre       Build included libpcre, or use system libpcre
0c8b01c
+  builtin-unuran     Build included libunuran, or use system libunuran
0c8b01c
   builtin-zlib       Build included libz, or use system libz
0c8b01c
   builtin-lzma       Build included liblzma, or use system liblzma
0c8b01c
   libcxx             Build using libc++, required by clang option (MacOS X only, for the time being)
0c8b01c
@@ -2046,6 +2049,7 @@
0c8b01c
    enable_builtin_ftgl="yes"
0c8b01c
    enable_builtin_glew="yes"
0c8b01c
    enable_builtin_pcre="yes"
0c8b01c
+   enable_builtin_unuran="yes"
0c8b01c
    enable_builtin_zlib="yes"
0c8b01c
    enable_builtin_lzma="yes"
0c8b01c
    top_builddir=`cygpath -u $top_builddir`
0c8b01c
@@ -3210,6 +3214,38 @@
0c8b01c
 
0c8b01c
 ######################################################################
0c8b01c
 #
0c8b01c
+### echo %%% libunuran (builtin or system)
0c8b01c
+#
0c8b01c
+if test "x$enable_builtin_unuran" = "xno" ; then
0c8b01c
+    check_header "unuran.h" "" \
0c8b01c
+        $UNURAN ${UNURAN:+$UNURAN/include} /usr/include
0c8b01c
+    if test "x$found_dir" = "x" ; then
0c8b01c
+        enable_builtin_unuran=yes
0c8b01c
+    else
0c8b01c
+        unuraninc=$found_hdr
0c8b01c
+        unuranincdir=$found_dir
0c8b01c
+    fi
0c8b01c
+
0c8b01c
+    check_library "libunuran" "$enable_shared" "" \
0c8b01c
+        $UNURAN ${UNURAN:+$UNURAN/lib} /usr/lib
0c8b01c
+    if test "x$found_lib" = "x" ; then
0c8b01c
+        unuranlib=""
0c8b01c
+        unuranlibdir=""
0c8b01c
+        enable_builtin_unuran="yes"
0c8b01c
+    else
0c8b01c
+        unuranlib="$found_lib"
0c8b01c
+        unuranlibdir="$found_dir"
0c8b01c
+    fi
0c8b01c
+
0c8b01c
+    if test "x$unuranincdir" = "x" || test "x$unuranlib" = "x"; then
0c8b01c
+        enable_builtin_unuran="yes"
0c8b01c
+    fi
0c8b01c
+fi
0c8b01c
+message "Checking whether to build included unuran"
0c8b01c
+result "$enable_builtin_unuran"
0c8b01c
+
0c8b01c
+######################################################################
0c8b01c
+#
0c8b01c
 ### echo %%% Use included zLib or use systems
0c8b01c
 #
0c8b01c
 if test "x$enable_builtin_zlib" = "xno" ; then
0c8b01c
@@ -7720,6 +7756,10 @@
0c8b01c
     -e "s|@top_srcdir@|$top_srcdir|"            \
0c8b01c
     -e "s|@ttffontdir@|$fontdir|"               \
0c8b01c
     -e "s|@tutdir@|$tutdir|"                    \
0c8b01c
+    -e "s|@builtinunuran@|$enable_builtin_unuran|" \
0c8b01c
+    -e "s|@unuranincdir@|$unuranincdir|"        \
0c8b01c
+    -e "s|@unuranlib@|$unuranlib|"              \
0c8b01c
+    -e "s|@unuranlibdir@|$unuranlibdir|"        \
0c8b01c
     -e "s|@winrtdebug@|$enable_winrtdebug|"     \
0c8b01c
     -e "s|@xmlincdir@|$xmlincdir|"              \
0c8b01c
     -e "s|@xmllib@|$xmllib|"                    \
0c8b01c
diff -Nur root-6.06.02.orig/math/unuran/CMakeLists.txt root-6.06.02/math/unuran/CMakeLists.txt
0c8b01c
--- root-6.06.02.orig/math/unuran/CMakeLists.txt	2016-03-03 10:36:03.000000000 +0100
0c8b01c
+++ root-6.06.02/math/unuran/CMakeLists.txt	2016-03-20 17:53:02.552806526 +0100
0c8b01c
@@ -3,6 +3,9 @@
0c8b01c
 ############################################################################
0c8b01c
 
0c8b01c
 #---Define package related variables-----------------------------------------------------------------
0c8b01c
+
0c8b01c
+if(builtin_unuran)
0c8b01c
+
0c8b01c
 set(UNR_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
0c8b01c
 set(UNR_VERSION "1.8.0-root")
0c8b01c
 set(UNR_TARNAME "unuran-${UNR_VERSION}")
0c8b01c
@@ -62,8 +65,17 @@
0c8b01c
                ${UNR_UNTARDIR}/src/tests/*.c
0c8b01c
                ${UNR_UNTARDIR}/src/uniform/*.c
0c8b01c
                ${UNR_UNTARDIR}/src/urng/*.c )
0c8b01c
+set(unrconfig ${UNR_UNTARDIR}/config.h)
0c8b01c
+
0c8b01c
+else()
0c8b01c
+
0c8b01c
+include_directories(${UNURAN_INCLUDE_DIRS})
0c8b01c
+set(unrsources)
0c8b01c
+set(unrconfig)
0c8b01c
+
0c8b01c
+endif()
0c8b01c
 
0c8b01c
 ROOT_GENERATE_DICTIONARY(G__Unuran *.h MODULE Unuran LINKDEF LinkDef.h)
0c8b01c
 
0c8b01c
-ROOT_LINKER_LIBRARY(Unuran *.cxx ${unrsources} G__Unuran.cxx ${UNR_UNTARDIR}/config.h  LIBRARIES Core DEPENDENCIES Hist MathCore)
0c8b01c
+ROOT_LINKER_LIBRARY(Unuran *.cxx ${unrsources} G__Unuran.cxx ${unrconfig} LIBRARIES Core ${UNURAN_LIBRARIES} DEPENDENCIES Hist MathCore)
0c8b01c
 ROOT_INSTALL_HEADERS()
0c8b01c
diff -Nur root-6.06.02.orig/math/unuran/Module.mk root-6.06.02/math/unuran/Module.mk
0c8b01c
--- root-6.06.02.orig/math/unuran/Module.mk	2016-03-03 10:36:03.000000000 +0100
0c8b01c
+++ root-6.06.02/math/unuran/Module.mk	2016-03-20 17:53:02.553806536 +0100
0c8b01c
@@ -12,6 +12,8 @@
0c8b01c
 UNURANDIRS   := $(UNURANDIR)/src
0c8b01c
 UNURANDIRI   := $(UNURANDIR)/inc
0c8b01c
 
0c8b01c
+ifeq ($(BUILTINUNURAN),yes)
0c8b01c
+
0c8b01c
 UNRVERS      := unuran-1.8.0-root
0c8b01c
 
0c8b01c
 UNRSRCS      := $(MODDIRS)/$(UNRVERS).tar.gz
0c8b01c
@@ -43,15 +45,18 @@
0c8b01c
                 $(filter $(UNRDIRS)/src/uniform/%,$(UNRTARCONTENT)) \
0c8b01c
                 $(filter $(UNRDIRS)/src/urng/%,$(UNRTARCONTENT)))
0c8b01c
 endif
0c8b01c
-UNRO         := $(UNRS:.c=.o)
0c8b01c
+UNRFLAGS     := -I$(UNRDIRS)/src
0c8b01c
 
0c8b01c
-ifeq ($(PLATFORM),win32)
0c8b01c
-UNRLIBS      := $(UNRDIRS)/src/.libs/libunuran.lib
0c8b01c
 else
0c8b01c
-UNRLIBS      := $(UNRDIRS)/src/.libs/libunuran.a
0c8b01c
+
0c8b01c
+UNURANETAG   :=
0c8b01c
+UNRCFG       :=
0c8b01c
+UNRS         :=
0c8b01c
+UNRFLAGS     := $(UNURANINCDIR:%=-I%)
0c8b01c
+
0c8b01c
 endif
0c8b01c
 
0c8b01c
-UNRFLAGS     :=  -I$(UNRDIRS)/src
0c8b01c
+UNRO         := $(UNRS:.c=.o)
0c8b01c
 
0c8b01c
 ##### libUnuran #####
0c8b01c
 UNURANL      := $(MODDIRI)/LinkDef.h
0c8b01c
@@ -84,6 +89,8 @@
0c8b01c
 include/%.h: 	$(UNURANDIRI)/%.h $(UNURANETAG)
0c8b01c
 		cp $< $@
0c8b01c
 
0c8b01c
+ifeq ($(BUILTINUNURAN),yes)
0c8b01c
+
0c8b01c
 $(UNURANDEP):   $(UNRCFG)
0c8b01c
 $(UNRS):        $(UNURANETAG)
0c8b01c
 
0c8b01c
@@ -134,12 +141,14 @@
0c8b01c
 		GNUMAKE=$(MAKE) ./configure  CC="$$ACC"  \
0c8b01c
 		CFLAGS="$$ACFLAGS");
0c8b01c
 
0c8b01c
+endif
0c8b01c
+
0c8b01c
 $(UNURANLIB):   $(UNRCFG) $(UNRO) $(UNURANO) $(UNURANDO) $(ORDER_) \
0c8b01c
                 $(MAINLIBS) $(UNURANLIBDEP)
0c8b01c
 		@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)"  \
0c8b01c
 		   "$(SOFLAGS)" libUnuran.$(SOEXT) $@     \
0c8b01c
 		   "$(UNURANO) $(UNURANDO)"             \
0c8b01c
-		   "$(UNURANLIBEXTRA) $(UNRO)"
0c8b01c
+		   "$(UNURANLIBEXTRA) $(UNRO) $(UNURANLIBDIR) $(UNURANLIB)"
0c8b01c
 
0c8b01c
 $(call pcmrule,UNURAN)
0c8b01c
 	$(noop)
0c8b01c
@@ -158,16 +167,19 @@
0c8b01c
 
0c8b01c
 clean-$(MODNAME):
0c8b01c
 		@rm -f $(UNURANO) $(UNURANDO)
0c8b01c
+ifeq ($(BUILTINUNURAN),yes)
0c8b01c
 		-@(if [ -d $(UNRDIRS) ]; then \
0c8b01c
 			cd $(UNRDIRS); \
0c8b01c
 			$(MAKE) clean; \
0c8b01c
 		fi)
0c8b01c
+endif
0c8b01c
 
0c8b01c
 clean::         clean-$(MODNAME)
0c8b01c
 
0c8b01c
 distclean-$(MODNAME): clean-$(MODNAME)
0c8b01c
 		@rm -f $(UNURANO) $(UNURANDO) $(UNURANETAG) $(UNURANDEP) \
0c8b01c
 		   $(UNURANDS) $(UNURANDH) $(UNURANLIB) $(UNURANMAP)
0c8b01c
+ifeq ($(BUILTINUNURAN),yes)
0c8b01c
 		@mv $(UNRSRCS) $(UNRDIR)/-$(UNRVERS).tar.gz
0c8b01c
 ifeq ($(UNURKEEP),yes)
0c8b01c
 		@mv $(UNRDIRS) $(UNRDIRS).keep
0c8b01c
@@ -177,6 +189,7 @@
0c8b01c
 		@mv $(UNRDIRS).keep $(UNRDIRS)
0c8b01c
 endif
0c8b01c
 		@mv $(UNRDIR)/-$(UNRVERS).tar.gz $(UNRSRCS)
0c8b01c
+endif
0c8b01c
 
0c8b01c
 distclean::     distclean-$(MODNAME)
0c8b01c
 
0c8b01c
@@ -184,6 +197,7 @@
0c8b01c
 
0c8b01c
 $(UNURANO): CXXFLAGS += $(UNRFLAGS)
0c8b01c
 
0c8b01c
+ifeq ($(BUILTINUNURAN),yes)
0c8b01c
 ifeq ($(PLATFORM),win32)
0c8b01c
 $(UNRO): CFLAGS := $(filter-out -FIsehmap.h,$(filter-out -Iinclude,$(CFLAGS) -I$(UNRDIRS) -I$(UNRDIRS)/src/ -I$(UNRDIRS)/src/utils -DHAVE_CONFIG_H))
0c8b01c
 else
0c8b01c
@@ -194,3 +208,4 @@
0c8b01c
 ifeq ($(CC),icc)
0c8b01c
 $(UNRO): CFLAGS += -mp
0c8b01c
 endif
0c8b01c
+endif