Windows DLL support (#246)

* Enable shared

* Enable rdp

* Add support for dll

* Use libblis-symbols.def

* Fix building dlls

* Fix libblis-symbols.def

* Fix soname

* Fix Makefile error

* Fix install target

* Fix missing symbols

* Add BLIS_MINUS_TWO

* Add path to dll

* Fix OSX soname

* Add declspec for dll

* Add -DBLIS_BUILD_DLL

* Replace @enable_shared@ in config

* switch to auto for now

* blis_ -> bli_

* Remove BLIS_BUILD_DLL in make check

* change auto->haswell

* enable_shared_01

* Add wno-macro-redefined

* print out.cblat3

* BLIS_BUILD_DLL -> BLIS_IS_BUILDING_LIBRARY

* Use V=1

* Remove fpic for windows

* Remember LIBPTHREAD

* Remove libm for windows

* Remember AR

* Fix remembering libpthread

* Add Wno-maybe-uninitialized in only gcc

* Don't do blastest for shared for now

* Fix install target

And remove unnecessary change

* test auto and x86_64

* Fix install target again

* Use IS_WIN variable

* Remove leading dot from LIBBLIS_SO_MAJ_EXT

* Make is_win yes/no

* Add comments for windows builds

* Change if else blocks location
This commit is contained in:
Isuru Fernando
2018-09-09 15:57:43 -05:00
committed by Field G. Van Zee
parent 1330d5c4bc
commit e93b01ff60
10 changed files with 2753 additions and 2486 deletions

View File

@@ -35,16 +35,28 @@
#ifndef BLIS_EXTERN_DEFS_H
#define BLIS_EXTERN_DEFS_H
extern obj_t BLIS_TWO;
extern obj_t BLIS_ONE;
//extern obj_t BLIS_ONE_HALF;
extern obj_t BLIS_ZERO;
//extern obj_t BLIS_MINUS_ONE_HALF;
extern obj_t BLIS_MINUS_ONE;
extern obj_t BLIS_MINUS_TWO;
#if !defined(BLIS_ENABLE_SHARED) || !defined(_MSC_VER)
#define BLIS_EXPORT
#else
#ifdef BLIS_IS_BUILDING_LIBRARY
#define BLIS_EXPORT __declspec(dllexport)
#else
// Windows builds require us to explicitly identify global variable symbols
// to be imported from the .dll.
#define BLIS_EXPORT __declspec(dllimport)
#endif
#endif
extern thrcomm_t BLIS_SINGLE_COMM;
extern thrinfo_t BLIS_PACKM_SINGLE_THREADED;
extern thrinfo_t BLIS_GEMM_SINGLE_THREADED;
BLIS_EXPORT extern obj_t BLIS_TWO;
BLIS_EXPORT extern obj_t BLIS_ONE;
//BLIS_EXPORT extern obj_t BLIS_ONE_HALF;
BLIS_EXPORT extern obj_t BLIS_ZERO;
//BLIS_EXPORT extern obj_t BLIS_MINUS_ONE_HALF;
BLIS_EXPORT extern obj_t BLIS_MINUS_ONE;
BLIS_EXPORT extern obj_t BLIS_MINUS_TWO;
BLIS_EXPORT extern thrcomm_t BLIS_SINGLE_COMM;
BLIS_EXPORT extern thrinfo_t BLIS_PACKM_SINGLE_THREADED;
BLIS_EXPORT extern thrinfo_t BLIS_GEMM_SINGLE_THREADED;
#endif