osunix / open64

No description has been added.

Clone this repository (size: 315.1 MB): HTTPS / SSH
$ hg clone http://hg.pathscale.com/open64
commit 934: 7cd2a5068bdf
parent 933: 8e28dfd3dbda
branch: default
Make the use of libacml_mv conditional on the library's presence.
dcoakley
13 months ago

Changed (Δ798 bytes):

raw changeset »

HOWTO-INSTALL-OPEN64 (12 lines added, 1 lines removed)

install_compiler.sh (5 lines added, 3 lines removed)

libacml_mv/README

osprey/driver/Makefile.gbase (3 lines added, 0 lines removed)

osprey/driver/objects.c (3 lines added, 3 lines removed)

osprey/driver/phases.c (2 lines added, 2 lines removed)

Up to file-list HOWTO-INSTALL-OPEN64:

@@ -80,8 +80,19 @@ There are two ways:
80
80
        svn export https://svn.open64.net/svnroot/open64/trunk open64
81
81
82
82
      This will copy the latest code to the directory open64.
83
      
84
      (X86_64 only): To build the compiler driver to automatically
85
      include libacml_mv.a (the source to this library will be
86
      included with the Open64 compiler in the near future), perform
87
      the following steps to import libacml_mv.a into your build tree:
88
 
89
        cd open64
90
        svn export https://svn.open64.net/svnroot/open64/branches/open64-booster/libacml_mv
83
91
84
      then checkout the latest prebuild package:
92
      This is currently the recommended way to build the compiler when checking
93
      SPEC performance on X86-64.
94
95
      Now checkout the latest prebuild package:
85
96
        svn checkout  https://svn.open64.net/svnroot/open64/branches/open64-prebuild/ prebuild
86
97
      then copy the bin/ and lib/ directory into the trunk, such as:
87
98
        cp -r prebuild/lib  open64/

Up to file-list install_compiler.sh:

@@ -336,8 +336,10 @@ INSTALL_GENERAL_PURPOSE_NATIVE_ARCHIVES
336
336
        INSTALL_DATA_SUB ${LIBAREA}/libmv/libmv.so.1           ${PHASEPATH}/libmv.so.1
337
337
        INSTALL_DATA_SUB ${LIBAREA}/libopenmp/libopenmp.a      ${PHASEPATH}/libopenmp.a
338
338
        INSTALL_DATA_SUB ${LIBAREA}/libopenmp/libopenmp.so.1      ${PHASEPATH}/libopenmp.so.1
339
        INSTALL_DATA_SUB libacml_mv/libacml_mv.a ${PHASEPATH}/libacml_mv.a
340
        INSTALL_DATA_SUB libacml_mv/LICENSE-LIBACML_MV ${PHASEPATH}/LICENSE-LIBACML_MV
339
        if [ -f libacml_mv/libacml_mv.a ] ; then
340
            INSTALL_DATA_SUB libacml_mv/libacml_mv.a ${PHASEPATH}/libacml_mv.a
341
            INSTALL_DATA_SUB libacml_mv/LICENSE-LIBACML_MV ${PHASEPATH}/LICENSE-LIBACML_MV
342
        fi
341
343
        # 32bit libraries
342
344
        INSTALL_DATA_SUB ${LIB32AREA}/libfortran/libfortran.a ${PHASEPATH}/32/libfortran.a
343
345
        INSTALL_DATA_SUB ${LIB32AREA}/libu/libffio.a          ${PHASEPATH}/32/libffio.a
@@ -355,7 +357,7 @@ INSTALL_GENERAL_PURPOSE_NATIVE_ARCHIVES
355
357
        # driver is cleaned up, it is important that processing be the same on
356
358
        # all architectures.  Thus we add an empty 32 bit ACML vector math
357
359
        # library.
358
        if [ ! -f ${PHASEPATH}/32/libacml_mv.a ] ; then
360
        if [ -f libacml_mv/libacml_mv.a -a ! -f ${PHASEPATH}/32/libacml_mv.a ] ; then
359
361
	    ar rc ${PHASEPATH}/32/libacml_mv.a
360
362
	    echo An empty 32-bit libacml_mv.a was added to work around a problem > ${PHASEPATH}/32/README_ACML
361
363
	    echo with the Open64 compiler driver. >> ${PHASEPATH}/32/README_ACML

Up to file-list osprey/driver/Makefile.gbase:

@@ -63,6 +63,9 @@ endif
63
63
64
64
ifeq ($(BUILD_TARGET), X8664)
65
65
LCDEFS += -DX8664
66
 ifeq ($(shell test -f ../../../libacml_mv/libacml_mv.a && echo 1),1)
67
 LCDEFS += -DTARG_X8664_WITH_LIBACML_MV
68
 endif
66
69
endif
67
70
68
71
LCDEFS += -DOPEN64_PRODNAME='"Compiler"'

Up to file-list osprey/driver/objects.c:

@@ -390,7 +390,7 @@ add_object (int flag, char *arg)
390
390
			if (xpg_flag && invoked_lang == L_f77) {
391
391
				add_library(lib_objects, "mv");
392
392
				add_library(lib_objects, "m");
393
#ifdef TARG_X8664
393
#ifdef TARG_X8664_WITH_LIBACML_MV
394
394
				if (abi != ABI_N32)
395
395
					add_library(objects, "acml_mv");
396
396
#endif
@@ -399,7 +399,7 @@ add_object (int flag, char *arg)
399
399
				add_library(objects, "mv");
400
400
#endif
401
401
				add_library(objects, "m");
402
#ifdef TARG_X8664
402
#ifdef TARG_X8664_WITH_LIBACML_MV
403
403
				if (abi != ABI_N32)
404
404
					add_library(objects, "acml_mv");
405
405
#endif
@@ -408,7 +408,7 @@ add_object (int flag, char *arg)
408
408
			if (invoked_lang == L_CC) {
409
409
			    add_library(cxx_prelinker_objects, "mv");
410
410
			    add_library(cxx_prelinker_objects, "m");
411
#ifdef TARG_X8664
411
#ifdef TARG_X8664_WITH_LIBACML_MV
412
412
			    if (abi != ABI_N32)
413
413
				add_library(objects, "acml_mv");
414
414
#endif

Up to file-list osprey/driver/phases.c:

@@ -1971,7 +1971,7 @@ add_final_ld_args (string_list_t *args,
1971
1971
		add_string(args, "-lmv");
1972
1972
	//	add_string(args, "-lm" PSC_NAME_PREFIX);
1973
1973
		add_string(args, "-lm");
1974
#ifdef TARG_X8664
1974
#ifdef TARG_X8664_WITH_LIBACML_MV
1975
1975
		if (abi != ABI_N32)
1976
1976
                    add_library(args, "acml_mv");
1977
1977
#endif
@@ -2058,7 +2058,7 @@ add_final_ld_args (string_list_t *args,
2058
2058
	      // add_library(args, "m" PSC_NAME_PREFIX);	// bug 3092
2059
2059
              // OSP -lm is needed
2060
2060
              add_library(args, "m");
2061
#ifdef TARG_X8664
2061
#ifdef TARG_X8664_WITH_LIBACML_MV
2062
2062
	      if (abi != ABI_N32) {
2063
2063
		/* Sigh, g++ removes the first -lm since it is implicitly added by g++,
2064
2064
		 * however adding two instances of -lm only removes one.