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
COMPILE_DEFINITIONS "TOP_FRAME=FRAME_BM2CMP"
)
set_source_files_properties(bitmap2cmp_frame.cpp PROPERTIES
COMPILE_DEFINITIONS "COMPILING_DLL"
)
if( WIN32 )
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 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;
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 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;
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 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;
return &kiface;

View File

@ -2,7 +2,7 @@
* 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 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
* modify it under the terms of the GNU General Public License
@ -29,32 +29,28 @@
/// See: http://gcc.gnu.org/wiki/Visibility
#if defined(_WIN32)
#define APIEXPORT __declspec(dllexport)
#define APIIMPORT __declspec(dllimport)
#define APILOCAL
#define APIEXPORT __declspec(dllexport)
#define APIIMPORT __declspec(dllimport)
#define APILOCAL
#elif defined(__GNUC__) && __GNUC__ >= 4
// On ELF, we compile with hidden visibility, so unwrap that for specific symbols:
#define APIEXPORT __attribute__ ((visibility("default")))
#define APIIMPORT __attribute__ ((visibility("default")))
#define APILOCAL __attribute__ ((visibility("hidden")))
// On ELF, we compile with hidden visibility, so unwrap that for specific symbols:
#define APIEXPORT __attribute__ ((visibility("default")))
#define APIIMPORT __attribute__ ((visibility("default")))
#define APILOCAL __attribute__ ((visibility("hidden")))
#else
#pragma message ( "warning: a supported C++ compiler is required" )
#define APIEXPORT
#define APIIMPORT
#define APILOCAL
#pragma message ( "warning: a supported C++ compiler is required" )
#define APIEXPORT
#define APIIMPORT
#define APILOCAL
#endif
#if defined(COMPILING_DLL)
// Be sure and define COMPILING_DLL when compiling implementation, and NOT when
// compiling the client.
#define MY_API(rettype) APIEXPORT rettype
#define KIFACE_API APIEXPORT
#else
#define MY_API(rettype) APIIMPORT rettype
#define KIFACE_API APIIMPORT
#endif
#define MY_LOCAL(rettype) APILOCAL rettype
#define KIFACE_LOCAL APILOCAL
#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.
extern "C" {
#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
KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram );
KIFACE* KIFACE_GETTER( int* aKIFACEversion, int aKIWAYversion, PGM_BASE* aProgram );
#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 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;
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 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;
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 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;
return &kiface;