mirror of
https://github.com/libretro/pcsx2.git
synced 2024-11-25 02:09:52 +00:00
04e6c5ab02
Add 2 attributes to the interfaces functions - externally_visible: avoid gcc to remove the function when lto is enabled - visibility("default"): default == public... Allow to hide all others symbols: see http://gcc.gnu.org/wiki/Visibility for details onepad: * Remove __cplusplus define, everythings is in C * define 2 interfaces functions with EXPORT_C_ instead of CALLBACK. cmake: * add recent added .h files * add fvisibility optimization. Plugins size was reduced of ~10% much more than expected :) git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3611 96395faa-99c1-11dd-bbfe-3dabce05a288
60 lines
1.4 KiB
C
60 lines
1.4 KiB
C
/* PadNull
|
|
* Copyright (C) 2004-2010 PCSX2 Dev Team
|
|
*
|
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
|
* ation, either version 3 of the License, or (at your option) any later version.
|
|
*
|
|
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with PCSX2.
|
|
* If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef __PAD_H__
|
|
#define __PAD_H__
|
|
|
|
#include <stdio.h>
|
|
|
|
#define PADdefs
|
|
#include "PS2Edefs.h"
|
|
#include "PS2Eext.h"
|
|
|
|
#ifdef _WIN32
|
|
#include "PadWin.h"
|
|
#else
|
|
#include "PadLinux.h"
|
|
#endif
|
|
|
|
/*#ifdef _MSC_VER
|
|
#define EXPORT_C_(type) extern "C" __declspec(dllexport) type CALLBACK
|
|
#else
|
|
#define EXPORT_C_(type) extern "C" type
|
|
#endif*/
|
|
|
|
#ifdef _MSC_VER
|
|
#define EXPORT_C_(type) extern "C" type CALLBACK
|
|
#else
|
|
#define EXPORT_C_(type) extern "C" __attribute__((externally_visible,visibility("default"))) type
|
|
#endif
|
|
|
|
#define PAD_LOG __Log
|
|
|
|
typedef struct
|
|
{
|
|
s32 Log;
|
|
} Config;
|
|
|
|
extern Config conf;
|
|
extern FILE *padLog;
|
|
extern keyEvent event;
|
|
|
|
extern void __Log(char *fmt, ...);
|
|
extern void SysMessage(char *fmt, ...);
|
|
extern void SaveConfig();
|
|
extern void LoadConfig();
|
|
|
|
#endif
|