mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Add support for compilers which do not have cname headers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@201 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
ce638276a3
commit
70b3420586
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
||||
1999-10-14 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||
|
||||
* acinclude.m4 (LYX_CXX_CHEADERS): New macro. Checks whether the
|
||||
C++ compiler provides wrappers for C headers and use our alternate
|
||||
version otherwise.
|
||||
|
||||
* configure.in: use LYX_CXX_CHEADERS.
|
||||
|
||||
* src/cheader/: new directory, populated with cname headers from
|
||||
libstdc++-2.8.1. They are a bit old, but probably good enough for
|
||||
what we want (support compilers who lack them).
|
||||
|
||||
* src/insets/Makefile.am, src/mathed/Makefile.am: remove src/support
|
||||
from includes. It turns out is was stupid.
|
||||
|
||||
1999-10-14 Lars Gullik Bjønnes <larsbj@lyx.org>
|
||||
|
||||
* lib/Makefile.am (install-data-local): forgot a ';'
|
||||
|
17
acinclude.m4
17
acinclude.m4
@ -374,6 +374,23 @@ if test $lyx_cv_cxx_namespace = yes ; then
|
||||
[Define if your C++ compiler has correct support for namespaces])
|
||||
fi])
|
||||
|
||||
dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
|
||||
dnl provides wrappers for C headers and use our alternate version otherwise.
|
||||
AC_DEFUN(LYX_CXX_CHEADERS,[
|
||||
AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
|
||||
[AC_TRY_CPP([
|
||||
#include <cctype>
|
||||
#include <cerrno>
|
||||
#include <cmath>
|
||||
#include <csignal>
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
|
||||
if test $lyx_cv_cxx_cheaders = no ; then
|
||||
LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
|
||||
fi])
|
||||
|
||||
|
||||
dnl Usage LYX_PATH_XPM: Checks for xpm library and header
|
||||
AC_DEFUN(LYX_PATH_XPM,[
|
||||
|
@ -65,6 +65,7 @@ LYX_CXX_EXPLICIT
|
||||
LYX_CXX_STL_STACK
|
||||
LYX_CXX_STL_STRING
|
||||
LYX_CXX_NAMESPACES
|
||||
LYX_CXX_CHEADERS
|
||||
LYX_CXX_RTTI
|
||||
|
||||
### Libarary Files
|
||||
|
7
src/cheaders/cctype
Normal file
7
src/cheaders/cctype
Normal file
@ -0,0 +1,7 @@
|
||||
// The -*- C++ -*- character type header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CCTYPE__
|
||||
#define __CCTYPE__
|
||||
#include <ctype.h>
|
||||
#endif
|
7
src/cheaders/cerrno
Normal file
7
src/cheaders/cerrno
Normal file
@ -0,0 +1,7 @@
|
||||
// The -*- C++ -*- error number header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CERRNO__
|
||||
#define __CERRNO__
|
||||
#include <errno.h>
|
||||
#endif
|
80
src/cheaders/cmath
Normal file
80
src/cheaders/cmath
Normal file
@ -0,0 +1,80 @@
|
||||
// The -*- C++ -*- math functions header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CMATH__
|
||||
#define __CMATH__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#include <_G_config.h>
|
||||
#endif
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "cmath"
|
||||
#endif
|
||||
|
||||
extern "C++" {
|
||||
#if 0
|
||||
float acos (float);
|
||||
float asin (float);
|
||||
float atan (float);
|
||||
float atan2(float, float);
|
||||
float ceil (float);
|
||||
float cos (float);
|
||||
float cosh (float);
|
||||
float exp (float);
|
||||
float fabs (float);
|
||||
float floor(float);
|
||||
float fmod (float, float);
|
||||
float frexp(float, int*);
|
||||
float modf (float, float*);
|
||||
float ldexp(float, int);
|
||||
float log (float);
|
||||
float log10(float);
|
||||
float pow (float, float);
|
||||
float pow (float, int);
|
||||
float sin (float);
|
||||
float sinh (float);
|
||||
float sqrt (float);
|
||||
float tan (float);
|
||||
float tanh (float);
|
||||
#endif
|
||||
|
||||
inline float abs (float x) { return fabs (x); }
|
||||
#if ! _G_MATH_H_INLINES /* hpux and SCO define this in math.h */
|
||||
inline double abs (double x) { return fabs (x); }
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
double pow(double, int);
|
||||
|
||||
long double acos (long double);
|
||||
long double asin (long double);
|
||||
long double atan (long double);
|
||||
long double atan2(long double, long double);
|
||||
long double ceil (long double);
|
||||
long double cos (long double);
|
||||
long double cosh (long double);
|
||||
long double exp (long double);
|
||||
long double fabs (long double);
|
||||
long double floor(long double);
|
||||
long double frexp(long double, int*);
|
||||
long double fmod (long double, long double);
|
||||
long double frexp(long double, int*);
|
||||
long double log (long double);
|
||||
long double log10(long double);
|
||||
long double modf (long double, long double*);
|
||||
long double pow (long double, long double);
|
||||
long double pow (long double, int);
|
||||
long double sin (long double);
|
||||
long double sinh (long double);
|
||||
long double sqrt (long double);
|
||||
long double tan (long double);
|
||||
long double tanh (long double);
|
||||
#endif
|
||||
inline long double abs (long double x) { return fabs (x); }
|
||||
|
||||
} // extern "C++"
|
||||
|
||||
#endif
|
7
src/cheaders/csignal
Normal file
7
src/cheaders/csignal
Normal file
@ -0,0 +1,7 @@
|
||||
// The -*- C++ -*- signal handling header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CSIGNAL__
|
||||
#define __CSIGNAL__
|
||||
#include <signal.h>
|
||||
#endif
|
7
src/cheaders/cstdio
Normal file
7
src/cheaders/cstdio
Normal file
@ -0,0 +1,7 @@
|
||||
// The -*- C++ -*- standard I/O header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CSTDIO__
|
||||
#define __CSTDIO__
|
||||
#include <stdio.h>
|
||||
#endif
|
23
src/cheaders/cstdlib
Normal file
23
src/cheaders/cstdlib
Normal file
@ -0,0 +1,23 @@
|
||||
// The -*- C++ -*- standard library header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CSTDLIB__
|
||||
#define __CSTDLIB__
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "cstdlib"
|
||||
#endif
|
||||
|
||||
extern "C++" {
|
||||
|
||||
#if _G_HAS_LABS
|
||||
inline long abs(long x) { return labs (x); }
|
||||
#else
|
||||
inline long abs(long x) { return x >= 0 ? x : -x; }
|
||||
#endif
|
||||
//inline ldiv_t div(long x, long y) { return ldiv (x, y); }
|
||||
|
||||
} // extern "C++"
|
||||
|
||||
#endif
|
96
src/cheaders/cstring
Normal file
96
src/cheaders/cstring
Normal file
@ -0,0 +1,96 @@
|
||||
// The -*- C++ -*- null-terminated string header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CSTRING__
|
||||
#define __CSTRING__
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#if 0 // Let's not bother with this just yet.
|
||||
#include <cstddef>
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "cstring"
|
||||
#endif
|
||||
|
||||
// The ANSI C prototypes for these functions have a const argument type and
|
||||
// non-const return type, so we can't use them.
|
||||
|
||||
extern "C++" {
|
||||
extern inline const char *
|
||||
_G_strchr (const char *s, int c)
|
||||
{
|
||||
return strchr (s, c);
|
||||
}
|
||||
|
||||
extern inline char *
|
||||
_G_strchr (char *s, int c)
|
||||
{
|
||||
return const_cast<char *> (strchr (s, c));
|
||||
}
|
||||
|
||||
extern inline const char *
|
||||
_G_strpbrk (const char *s1, const char *s2)
|
||||
{
|
||||
return strpbrk (s1, s2);
|
||||
}
|
||||
|
||||
extern inline char *
|
||||
_G_strpbrk (char *s1, const char *s2)
|
||||
{
|
||||
return const_cast<char *> (strpbrk (s1, s2));
|
||||
}
|
||||
|
||||
extern inline const char *
|
||||
_G_strrchr (const char *s, int c)
|
||||
{
|
||||
return strrchr (s, c);
|
||||
}
|
||||
|
||||
extern inline char *
|
||||
_G_strrchr (char *s, int c)
|
||||
{
|
||||
return const_cast<char *> (strrchr (s, c));
|
||||
}
|
||||
|
||||
extern inline const char *
|
||||
_G_strstr (const char *s1, const char *s2)
|
||||
{
|
||||
return strstr (s1, s2);
|
||||
}
|
||||
|
||||
extern inline char *
|
||||
_G_strstr (char *s1, const char *s2)
|
||||
{
|
||||
return const_cast<char *> (strstr (s1, s2));
|
||||
}
|
||||
|
||||
extern inline const void *
|
||||
_G_memchr (const void *s, int c, size_t n)
|
||||
{
|
||||
return memchr (s, c, n);
|
||||
}
|
||||
|
||||
extern inline void *
|
||||
_G_memchr (void *s, int c, size_t n)
|
||||
{
|
||||
return const_cast<void *> (memchr (s, c, n));
|
||||
}
|
||||
} // extern "C++"
|
||||
|
||||
// Lose any vendor macros for these functions.
|
||||
#undef strchr
|
||||
#undef strpbrk
|
||||
#undef strrchr
|
||||
#undef strstr
|
||||
#undef memchr
|
||||
|
||||
// Ewww, namespace pollution. Anyone have a better idea?
|
||||
#define strchr _G_strchr
|
||||
#define strpbrk _G_strpbrk
|
||||
#define strrchr _G_strrchr
|
||||
#define strstr _G_strstr
|
||||
#define memchr _G_memchr
|
||||
#endif // 0
|
||||
|
||||
#endif // !defined (__CSTRING__)
|
7
src/cheaders/ctime
Normal file
7
src/cheaders/ctime
Normal file
@ -0,0 +1,7 @@
|
||||
// The -*- C++ -*- time header.
|
||||
// This file is part of the GNU ANSI C++ Library.
|
||||
|
||||
#ifndef __CTIME__
|
||||
#define __CTIME__
|
||||
#include <time.h>
|
||||
#endif
|
@ -4,7 +4,7 @@ noinst_PROGRAMS = insets.o
|
||||
LIBS=
|
||||
LDFLAGS=
|
||||
ETAGS_ARGS = --c++
|
||||
INCLUDES = -I${srcdir}/../ -I${srcdir}/../support
|
||||
INCLUDES = -I${srcdir}/../
|
||||
CXXLINK = $(LD) -r -o $(noinst_PROGRAMS)
|
||||
|
||||
insets_o_SOURCES = \
|
||||
|
@ -4,7 +4,7 @@ noinst_PROGRAMS = mathed.o
|
||||
LIBS=
|
||||
LDFLAGS=
|
||||
ETAGS_ARGS = --c++
|
||||
INCLUDES = -I${top_srcdir}/images -I${srcdir}/../ -I${srcdir}/../support
|
||||
INCLUDES = -I${top_srcdir}/images -I${srcdir}/../
|
||||
CXXLINK = $(LD) -r -o $(noinst_PROGRAMS)
|
||||
|
||||
mathed_o_SOURCES = array.h \
|
||||
|
Loading…
Reference in New Issue
Block a user