aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCNLohr <lohr85@gmail.com>2017-03-17 00:26:47 -0400
committerCNLohr <lohr85@gmail.com>2017-03-17 00:27:20 -0400
commitfcc65b6ad403bc9b59591291c939c8257b8b91d9 (patch)
tree8f38d5e274eadec652715ab4564a04b9b30db2b8 /include
parent768a06613e38194e58d37ab3b1c5bb4a326f0e2b (diff)
downloadlibsurvive-fcc65b6ad403bc9b59591291c939c8257b8b91d9.tar.gz
libsurvive-fcc65b6ad403bc9b59591291c939c8257b8b91d9.tar.bz2
Fix windows build to allow for linktime code genreation.
Diffstat (limited to 'include')
-rw-r--r--include/libsurvive/survive.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/libsurvive/survive.h b/include/libsurvive/survive.h
index e3e167a..28180e4 100644
--- a/include/libsurvive/survive.h
+++ b/include/libsurvive/survive.h
@@ -136,10 +136,12 @@ void survive_default_angle_process( SurviveObject * so, int sensor_id, int acode
////////////////////// Survive Drivers ////////////////////////////
-void RegisterDriver( const char * name, void * data );
+void RegisterDriver(const char * name, void * data);
#ifdef _WIN32
-#define REGISTER_LINKTIME( func )
+#define REGISTER_LINKTIME( func ) \
+ __pragma(comment(linker,"/export:REGISTER"#func));\
+ void REGISTER##func() { RegisterDriver(#func, &func); }
#else
#define REGISTER_LINKTIME( func ) \
void __attribute__((constructor)) REGISTER##func() { RegisterDriver(#func, &func); }