[Openmp-commits] [openmp] r238720 - Apply name change to Makefile build system.
Hal Finkel
hfinkel at anl.gov
Mon Jun 1 02:45:05 PDT 2015
----- Original Message -----
> From: "Jonathan Peyton" <jonathan.l.peyton at intel.com>
> To: openmp-commits at cs.uiuc.edu
> Sent: Sunday, May 31, 2015 11:21:23 PM
> Subject: [Openmp-commits] [openmp] r238720 - Apply name change to Makefile build system.
>
> Author: jlpeyton
> Date: Sun May 31 23:21:22 2015
> New Revision: 238720
>
> URL: http://llvm.org/viewvc/llvm-project?rev=238720&view=rev
> Log:
> Apply name change to Makefile build system.
>
> This change produces a dynamic library named libomp instead of
> libiomp5. Similar to the CMake change, it produces symlinks of
> libiomp5
> in the exports/ directory for Unix systems and copies for Windows.
Will this cause a problem on Windows if you have an application being linked with libomp also linking to a library that was linked against libiomp?
-Hal
>
> Modified:
> openmp/trunk/runtime/Makefile
> openmp/trunk/runtime/src/makefile.mk
> openmp/trunk/runtime/src/rules.mk
>
> Modified: openmp/trunk/runtime/Makefile
> URL:
> http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/Makefile?rev=238720&r1=238719&r2=238720&view=diff
> ==============================================================================
> --- openmp/trunk/runtime/Makefile (original)
> +++ openmp/trunk/runtime/Makefile Sun May 31 23:21:22 2015
> @@ -49,7 +49,7 @@ endif
>
>
>
> -libiomp5_path=$(shell $(omp_root)/tools/check-openmp.pl)
> +libomp_path=$(shell $(omp_root)/tools/check-openmp.pl)
> test_path=$(shell $(omp_root)/tools/check-openmp-test.pl)
>
> # Please do not change this rule.
> @@ -60,10 +60,10 @@ test: omp
> @$(Verb) if which llvm-lit &> /dev/null; then \
> if [ -d
> "$(omp_root)$(SLASH)..$(SLASH)testsuite$(SLASH)LLVM-IR" ] ;
> then \
> export TESTSUITE_TEMP=$(realpath $(omp_root))$(SLASH)tmp ; \
> - export LIBRARY_PATH=$(libiomp5_path):$(LIBRARY_PATH) ; \
> - export
> C_INCLUDE_PATH=$(libiomp5_path)$(SLASH)..$(SLASH)..$(SLASH)common$(SLASH)include:$(C_INCLUDE_PATH)
> ; \
> - export LD_LIBRARY_PATH=$(libiomp5_path):$(LD_LIBRARY_PATH) ; \
> - export DYLD_LIBRARY_PATH=$(libiomp5_path):$(DYLD_LIBRARY_PATH) ;
> \
> + export LIBRARY_PATH=$(libomp_path):$(LIBRARY_PATH) ; \
> + export
> C_INCLUDE_PATH=$(libomp_path)$(SLASH)..$(SLASH)..$(SLASH)common$(SLASH)include:$(C_INCLUDE_PATH)
> ; \
> + export LD_LIBRARY_PATH=$(libomp_path):$(LD_LIBRARY_PATH) ; \
> + export DYLD_LIBRARY_PATH=$(libomp_path):$(DYLD_LIBRARY_PATH) ; \
> cd $(omp_root)$(SLASH)..$(SLASH)testsuite ; \
> make ctest ; \
> python adding_xfails.py ; \
>
> Modified: openmp/trunk/runtime/src/makefile.mk
> URL:
> http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/makefile.mk?rev=238720&r1=238719&r2=238720&view=diff
> ==============================================================================
> --- openmp/trunk/runtime/src/makefile.mk (original)
> +++ openmp/trunk/runtime/src/makefile.mk Sun May 31 23:21:22 2015
> @@ -764,7 +764,7 @@ endif
> lib_asm_items =
> gd-flags += -D shim
> # for some reason, test-touch-md is able to
> work with
> - # the build compiler's version of
> libiomp5md.dll, but
> + # the build compiler's version of
> libompmd.dll, but
> # test-touch-mt can't load it.
> do_test_touch_mt := 0
> endif
> @@ -803,14 +803,13 @@ ifeq "$(VERSION)" "4"
> _lib_item += _stats
> endif
> else
> - _lib_item = libiomp
> + _lib_item = libomp
> ifeq "$(LIB_TYPE)" "prof"
> _lib_item += prof
> endif
> ifeq "$(LIB_TYPE)" "stub"
> _lib_item += stubs
> endif
> - _lib_item += $(VERSION)
> ifeq "$(os)" "win"
> ifeq "$(LINK_TYPE)" "dyna"
> _lib_item += md
> @@ -831,7 +830,6 @@ ifeq "$(os)-$(LINK_TYPE)" "win-dyna"
> imp_file = $(lib_item)$(lib)
> def_file = $(lib_item).def
> res_file = $(lib_item).res
> - rc_file = $(lib_item).rc
> # PDB file should be generated if: ( DEBIG_INFO is on ) OR ( we
> are building 32-bit normal
> # library AND version is 5 ).
> ifneq "$(filter on,$(DEBUG_INFO))$(filter
> norm-5,$(LIB_TYPE)-$(VERSION))" ""
> @@ -851,12 +849,10 @@ endif
> # --- Output files ---
>
> out_lib_files = $(addprefix $(out_lib_dir),$(lib_file) $(imp_file)
> $(pdb_file) $(dbg_file))
> -out_inc_files = $(addprefix
> $(out_ptf_dir)include_compat/,iomp_lib.h)
> out_mod_files = \
> $(addprefix $(out_ptf_dir)include/,omp_lib.mod
> omp_lib_kinds.mod)
> out_cmn_files = \
> - $(addprefix $(out_cmn_dir)include/,omp.h omp_lib.h omp_lib.f
> omp_lib.f90) \
> - $(addprefix $(out_cmn_dir)include_compat/,iomp.h)
> + $(addprefix $(out_cmn_dir)include/,omp.h omp_lib.h omp_lib.f
> omp_lib.f90)
> ifeq "$(OMPT_SUPPORT)" "on"
> out_cmn_files += $(addprefix $(out_cmn_dir)include/,ompt.h)
> endif
> @@ -1017,12 +1013,11 @@ endif
> #
> --------------------------------------------------------------------------------------------------
>
> all : lib inc mod
> -lib : tests $(out_lib_files)
> -inc : $(out_inc_files)
> +lib : tests $(out_lib_files) libomp_aliases
> mod : $(out_mod_files)
> clean :
> $(rm) $(out_lib_files) $(out_lib_fat_files)
> - $(rm) $(out_inc_files) $(out_mod_files)
> + $(rm) $(out_mod_files)
>
> #
> --------------------------------------------------------------------------------------------------
> # Building library.
> @@ -1042,7 +1037,7 @@ ifneq "$(filter lin,$(os))" ""
> lib_file_deps = $(if
> $(linked_in_libs),required/.objs,$(lib_obj_files))
> endif
> ifeq "$(os)" "mac"
> - lib_file_deps = iomp$(obj)
> + lib_file_deps = omp$(obj)
> endif
> ifeq "$(os)" "win"
> lib_file_deps = $(if
> $(linked_in_libs),wiped/.objs,$(lib_obj_files))
> @@ -1149,21 +1144,21 @@ ifeq "$(os)" "mac"
> # These targets are under condition because of some OS
> X*-specific ld and nm options. For
> # example, GNU nm does not accept -j, GNU ld does not know
> -filelist.
>
> - # iomp.o is a big object file including all the OMP RTL object
> files and object files from
> + # omp.o is a big object file including all the OMP RTL object
> files and object files from
> # external libraries (like libirc). It is partially linked,
> references to external symbols
> # (e. g. references to libirc) already resolved, symbols defined
> in external libraries are
> # hidden by using -unexported-symbol-list and
> -non_global_symbols_strip_list linker options
> # (both options are required).
> # AC: 2012-04-12: after MAC machines upgrade compiler fails to
> create object, so use linker instead
> ifeq "$(mac_os_new)" "1"
> - iomp$(obj) : $(lib_obj_files) external-symbols.lst
> external-objects.lst .rebuild
> + omp$(obj) : $(lib_obj_files) external-symbols.lst
> external-objects.lst .rebuild
> $(target)
> ld -r -unexported_symbols_list external-symbols.lst \
> -non_global_symbols_strip_list external-symbols.lst \
> -filelist external-objects.lst \
> -o $@ $(obj_deps_files)
> else
> - iomp$(obj) : $(lib_obj_files) external-symbols.lst
> external-objects.lst .rebuild
> + omp$(obj) : $(lib_obj_files) external-symbols.lst
> external-objects.lst .rebuild
> $(target)
> $(c) -r -nostartfiles -static-intel -no-intel-extensions \
> -Wl,-unexported_symbols_list,external-symbols.lst \
> @@ -1173,7 +1168,7 @@ else
> endif
>
> # external-objects.lst is a list of object files extracted from
> external libraries, which should
> - # be linked into iomp.o. kmp_dummy.o is added to the list to
> avoid empty list -- OS X* utilities
> + # be linked into omp.o. kmp_dummy.o is added to the list to
> avoid empty list -- OS X* utilities
> # nm and ld do not like empty lists.
> external-objects.lst : $(lib_obj_files) $(addsuffix
> /.objs,$(linked_in_libs)) kmp_dummy$(obj) \
> $(tools_dir)required-objects.pl .rebuild
> @@ -1234,12 +1229,8 @@ $(def_file) : dllexports \
> $(target)
> $(perl) $(tools_dir)generate-def.pl $(gd-flags) -o $@ $<
>
> -libiomp.rc : libiomp.rc.var kmp_version.c
> -libiomp.rc : ev-flags += -D KMP_FILE=$(lib_file)
> -
> -$(rc_file) : libiomp.rc .rebuild
> - $(target)
> - $(cp) $< $@
> +libomp.rc : libomp.rc.var kmp_version.c
> +libomp.rc : ev-flags += -D KMP_FILE=$(lib_file)
>
> kmp_dummy.c : .rebuild
> $(target)
> @@ -1540,7 +1531,6 @@ omp_lib_kinds.mod : $(omp_lib_f) .rebuil
> omp_lib.mod : omp_lib_kinds.mod
>
> omp_lib.h : ev-flags += -D KMP_INT_PTR_KIND="int_ptr_kind()"
> -iomp_lib.h : ev-flags += -D KMP_INT_PTR_KIND=$(if $(filter
> 32,$(arch)),4,8)
>
> #
> --------------------------------------------------------------------------------------------------
> # Common files.
>
> Modified: openmp/trunk/runtime/src/rules.mk
> URL:
> http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/rules.mk?rev=238720&r1=238719&r2=238720&view=diff
> ==============================================================================
> --- openmp/trunk/runtime/src/rules.mk (original)
> +++ openmp/trunk/runtime/src/rules.mk Sun May 31 23:21:22 2015
> @@ -30,6 +30,15 @@ $(out_lib_dir)% : % $(out_lib_dir).dir .
> $(touch) $(dir $@).touch
> endif
>
> +.PHONY: libomp_aliases
> +libomp_aliases: $(out_lib_dir).dir .rebuild
> $(out_lib_dir)$(lib_file)
> + $(target)
> +ifeq "$(os)" "win"
> + cd $(out_lib_dir) ; $(cp) $(lib_file) libiomp5md$(dll) ; $(cp)
> $(imp_file) libiomp5md$(lib)
> +else
> + cd $(out_lib_dir) ; ln -sf $(lib_file) libiomp5$(dll)
> +endif
> +
> $(out_ptf_dir)include/% : % $(out_ptf_dir)include/.dir .rebuild
> $(target)
> $(cp) $< $@
>
>
> _______________________________________________
> Openmp-commits mailing list
> Openmp-commits at dcs-maillist2.engr.illinois.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/openmp-commits
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the Openmp-commits
mailing list