Cleanup the kiface dll export declaration slightly

Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
This commit is contained in:
Marek Roszko 2023-09-08 20:44:08 -04:00
parent 3bbf3a61b5
commit bd3aca2887
9 changed files with 23 additions and 30 deletions

View File

@ -24,9 +24,6 @@ set( BITMAP2COMPONENT_SRCS
set_source_files_properties( ${CMAKE_SOURCE_DIR}/common/single_top.cpp PROPERTIES set_source_files_properties( ${CMAKE_SOURCE_DIR}/common/single_top.cpp PROPERTIES
COMPILE_DEFINITIONS "TOP_FRAME=FRAME_BM2CMP" COMPILE_DEFINITIONS "TOP_FRAME=FRAME_BM2CMP"
) )
set_source_files_properties(bitmap2cmp_frame.cpp PROPERTIES
COMPILE_DEFINITIONS "COMPILING_DLL"
)
if( WIN32 ) if( WIN32 )
if( MINGW ) if( MINGW )

View File

@ -106,7 +106,7 @@ KIFACE_BASE& Kiface() { return kiface; }
// KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h. // KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h.
// KIFACE_GETTER will not have name mangling due to declaration in kiway.h. // KIFACE_GETTER will not have name mangling due to declaration in kiway.h.
MY_API( KIFACE* ) KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram ) KIFACE_API KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram )
{ {
process = (PGM_BASE*) aProgram; process = (PGM_BASE*) aProgram;
return &kiface; return &kiface;

View File

@ -347,7 +347,7 @@ KIFACE_BASE& Kiface() { return kiface; }
// KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h. // KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h.
// KIFACE_GETTER will not have name mangling due to declaration in kiway.h. // KIFACE_GETTER will not have name mangling due to declaration in kiway.h.
MY_API( KIFACE* ) KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram ) KIFACE_API KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram )
{ {
process = aProgram; process = aProgram;
return &kiface; return &kiface;

View File

@ -123,7 +123,7 @@ KIFACE_BASE& Kiface() { return kiface; }
// KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h. // KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h.
// KIFACE_GETTER will not have name mangling due to declaration in kiway.h. // KIFACE_GETTER will not have name mangling due to declaration in kiway.h.
MY_API( KIFACE* ) KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram ) KIFACE_API KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram )
{ {
process = aProgram; process = aProgram;
return &kiface; return &kiface;

View File

@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2011 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
* Copyright (C) 2011 KiCad Developers, see change_log.txt for contributors. * Copyright (C) 2011-2023 KiCad Developers, see change_log.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
@ -29,32 +29,28 @@
/// See: http://gcc.gnu.org/wiki/Visibility /// See: http://gcc.gnu.org/wiki/Visibility
#if defined(_WIN32) #if defined(_WIN32)
#define APIEXPORT __declspec(dllexport) #define APIEXPORT __declspec(dllexport)
#define APIIMPORT __declspec(dllimport) #define APIIMPORT __declspec(dllimport)
#define APILOCAL #define APILOCAL
#elif defined(__GNUC__) && __GNUC__ >= 4 #elif defined(__GNUC__) && __GNUC__ >= 4
// On ELF, we compile with hidden visibility, so unwrap that for specific symbols: // On ELF, we compile with hidden visibility, so unwrap that for specific symbols:
#define APIEXPORT __attribute__ ((visibility("default"))) #define APIEXPORT __attribute__ ((visibility("default")))
#define APIIMPORT __attribute__ ((visibility("default"))) #define APIIMPORT __attribute__ ((visibility("default")))
#define APILOCAL __attribute__ ((visibility("hidden"))) #define APILOCAL __attribute__ ((visibility("hidden")))
#else #else
#pragma message ( "warning: a supported C++ compiler is required" ) #pragma message ( "warning: a supported C++ compiler is required" )
#define APIEXPORT #define APIEXPORT
#define APIIMPORT #define APIIMPORT
#define APILOCAL #define APILOCAL
#endif #endif
#if defined(COMPILING_DLL) #if defined(COMPILING_DLL)
// Be sure and define COMPILING_DLL when compiling implementation, and NOT when #define KIFACE_API APIEXPORT
// compiling the client.
#define MY_API(rettype) APIEXPORT rettype
#else #else
#define MY_API(rettype) APIIMPORT rettype #define KIFACE_API APIIMPORT
#endif #endif
#define MY_LOCAL(rettype) APILOCAL rettype #define KIFACE_LOCAL APILOCAL
#endif // IMPORT_EXPORT_H_ #endif // IMPORT_EXPORT_H_

View File

@ -503,9 +503,9 @@ typedef KIFACE* KIFACE_GETTER_FUNC( int* aKIFACEversion, int aKIWAYversion, PGM_
/// No name mangling. Each KIFACE (DSO/DLL) will implement this once. /// No name mangling. Each KIFACE (DSO/DLL) will implement this once.
extern "C" { extern "C" {
#if defined(BUILD_KIWAY_DLL) #if defined(BUILD_KIWAY_DLL)
MY_API( KIFACE* ) KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram ); KIFACE_API KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram );
#else #else
KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram ); KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram );
#endif #endif
} }

View File

@ -132,7 +132,7 @@ KIFACE_BASE& Kiface() { return kiface; }
// KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h. // KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h.
// KIFACE_GETTER will not have name mangling due to declaration in kiway.h. // KIFACE_GETTER will not have name mangling due to declaration in kiway.h.
MY_API( KIFACE* ) KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram ) KIFACE_API KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram )
{ {
process = (PGM_BASE*) aProgram; process = (PGM_BASE*) aProgram;
return &kiface; return &kiface;

View File

@ -80,7 +80,7 @@ KIFACE_BASE& Kiface() { return kiface; }
// KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h. // KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h.
// KIFACE_GETTER will not have name mangling due to declaration in kiway.h. // KIFACE_GETTER will not have name mangling due to declaration in kiway.h.
MY_API( KIFACE* ) KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram ) KIFACE_API KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram )
{ {
process = (PGM_BASE*) aProgram; process = (PGM_BASE*) aProgram;
return &kiface; return &kiface;

View File

@ -343,7 +343,7 @@ KIFACE_BASE& Kiface() { return kiface; }
// KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h. // KIFACE_GETTER's actual spelling is a substitution macro found in kiway.h.
// KIFACE_GETTER will not have name mangling due to declaration in kiway.h. // KIFACE_GETTER will not have name mangling due to declaration in kiway.h.
MY_API( KIFACE* ) KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram ) KIFACE_API KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKiwayVersion, PGM_BASE* aProgram )
{ {
process = aProgram; process = aProgram;
return &kiface; return &kiface;