annotate mangle.h @ 30251:fbb33d643fe6

Remove hackish and not actually working code to make vidix compile with compilers without inline assembly. Almost no OS provides inb() etc. in its libraries, and removing the broken fallback code makes it compile on Solaris with Sun C compiler.
author reimar
date Tue, 12 Jan 2010 20:20:49 +0000
parents f1b71fa008e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28106
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
1 /*
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
2 * CPP macros to deal with different symbol mangling across binary formats.
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
3 *
28110
fc04fa771074 license header consistency cosmetics
diego
parents: 28106
diff changeset
4 * Copyright (C) 2002 Felix Buenemann <atmosfear at users.sourceforge.net>
28106
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
5 *
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
6 * This file is part of MPlayer.
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
7 *
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
8 * MPlayer is free software; you can redistribute it and/or modify
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
9 * it under the terms of the GNU General Public License as published by
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
11 * (at your option) any later version.
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
12 *
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
13 * MPlayer is distributed in the hope that it will be useful,
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
16 * GNU General Public License for more details.
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
17 *
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
18 * You should have received a copy of the GNU General Public License along
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
19 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
4932a522100e Replace informal GPL notes by standard GPL header.
diego
parents: 27747
diff changeset
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
4243
05ad38cc0338 mangle.h does symbolmangling on win32
atmos4
parents:
diff changeset
21 */
05ad38cc0338 mangle.h does symbolmangling on win32
atmos4
parents:
diff changeset
22
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25546
diff changeset
23 #ifndef MPLAYER_MANGLE_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25546
diff changeset
24 #define MPLAYER_MANGLE_H
4243
05ad38cc0338 mangle.h does symbolmangling on win32
atmos4
parents:
diff changeset
25
28128
94bc143e3f80 Include config.h in mangle.h, fixes make checkheaders.
reimar
parents: 28116
diff changeset
26 #include "config.h"
94bc143e3f80 Include config.h in mangle.h, fixes make checkheaders.
reimar
parents: 28116
diff changeset
27
27747
8215fb6c542c Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents: 26029
diff changeset
28 #if (__GNUC__ * 100 + __GNUC_MINOR__ >= 300)
8215fb6c542c Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents: 26029
diff changeset
29 #define attribute_used __attribute__((used))
8215fb6c542c Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents: 26029
diff changeset
30 #else
8215fb6c542c Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents: 26029
diff changeset
31 #define attribute_used
8215fb6c542c Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents: 26029
diff changeset
32 #endif
8215fb6c542c Move attribute_used declaration from config.h to mangle.h where it is useful.
diego
parents: 26029
diff changeset
33
29600
577c86f00dd1 Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents: 28128
diff changeset
34 #if ARCH_X86_64 && defined(PIC)
577c86f00dd1 Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents: 28128
diff changeset
35 #define MANGLE(a) EXTERN_PREFIX #a "(%%rip)"
577c86f00dd1 Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents: 28128
diff changeset
36 #else
28116
d3c2f2b726ed Simplify the definition of MANGLE, possibly also makes it easier to support more systems.
reimar
parents: 28110
diff changeset
37 #define MANGLE(a) EXTERN_PREFIX #a
29600
577c86f00dd1 Support x86_64 + PIC in mangle.h, needed for OS X 64 bit compiles.
reimar
parents: 28128
diff changeset
38 #endif
4243
05ad38cc0338 mangle.h does symbolmangling on win32
atmos4
parents:
diff changeset
39
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25546
diff changeset
40 #endif /* MPLAYER_MANGLE_H */