Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37661061
en ru br
Репозитории ALT

Группа :: System/Legacy libraries
Пакет: libfreeglut2.8

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: libfreeglut-alt-fix-visibility-hidden.patch
Скачать


From 54cd2b92f330391258294c824002b892a06aca55 Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Fri, 19 Oct 2018 11:12:59 +0000
Subject: [PATCH 1/2] Fix build with gcc -fvisibility=hidden
FGAPI used to be defined to an empty body on non-windows platforms.
Provide a proper definition for gcc to fix build with gcc -fvisibility=hidden.
Add FGAPI attribute to definitions of glutStroke* and glutBitmap* variables,
to make them exported when gcc -fvisibility=hidden is in effect.
---
 freeglut/include/GL/freeglut_std.h           |  4 ++++
 freeglut/src/freeglut_glutfont_definitions.c | 18 +++++++++---------
 2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/freeglut/include/GL/freeglut_std.h b/freeglut/include/GL/freeglut_std.h
index 691ca7a..ab3a9a4 100644
--- a/freeglut/include/GL/freeglut_std.h
+++ b/freeglut/include/GL/freeglut_std.h
@@ -103,7 +103,11 @@
 #else
 
 /* Non-Windows definition of FGAPI and FGAPIENTRY  */
+#    ifdef __GNUC__
+#        define FGAPI __attribute__((__visibility__("default")))
+#    else
 #        define FGAPI
+#    endif
 #        define FGAPIENTRY
 
 #endif
diff --git a/freeglut/src/freeglut_glutfont_definitions.c b/freeglut/src/freeglut_glutfont_definitions.c
index 454ecb7..057df3d 100644
--- a/freeglut/src/freeglut_glutfont_definitions.c
+++ b/freeglut/src/freeglut_glutfont_definitions.c
@@ -93,16 +93,16 @@ struct freeglutBitmapFont
 };
 
 
-struct freeglutStrokeFont glutStrokeRoman ;
-struct freeglutStrokeFont glutStrokeMonoRoman ;
+FGAPI struct freeglutStrokeFont glutStrokeRoman ;
+FGAPI struct freeglutStrokeFont glutStrokeMonoRoman ;
 
-struct freeglutBitmapFont glutBitmap9By15 ;
-struct freeglutBitmapFont glutBitmap8By13 ;
-struct freeglutBitmapFont glutBitmapTimesRoman10 ;
-struct freeglutBitmapFont glutBitmapTimesRoman24 ;
-struct freeglutBitmapFont glutBitmapHelvetica10 ;
-struct freeglutBitmapFont glutBitmapHelvetica12 ;
-struct freeglutBitmapFont glutBitmapHelvetica18 ;
+FGAPI struct freeglutBitmapFont glutBitmap9By15 ;
+FGAPI struct freeglutBitmapFont glutBitmap8By13 ;
+FGAPI struct freeglutBitmapFont glutBitmapTimesRoman10 ;
+FGAPI struct freeglutBitmapFont glutBitmapTimesRoman24 ;
+FGAPI struct freeglutBitmapFont glutBitmapHelvetica10 ;
+FGAPI struct freeglutBitmapFont glutBitmapHelvetica12 ;
+FGAPI struct freeglutBitmapFont glutBitmapHelvetica18 ;
 
 #endif
 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin