1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
2007-06-28 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs: Sort members by Ordinal|IgnoreCase; sort types
by their .FullName property, so that namespace is taken into account when
sorting them and emitting their declarations.
* src/TestMap.cs: Make one of the enum's a `long' type, to see how the
constants change in the generated .h file.
* src/test.h.ref, src/test.xml.ref, src/test.c.ref, src/test.cs.ref:
Flush (due to TestEnum type change in TestMap.cs).
2007-04-12 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs: Remove unused methods; fix indenting; fix
_cnm_return_val_if_overflow() so that it doesn't trigger false positives
on Linux and Intel Mac OS X
* src/Makefile.am: Test --impl-header with a header that actually exists --
allows the libtest.so target to actually work. (Granted, now "test.h" has
*two* includes in test.c, but that's not a problem.)
Add a test-overflow target to create test-overflow program from
test-overflow.c, test-overflow.h.
* src/test-overflow.c, src/test-overflow.h: Tests for
_cnm_return_val_if_overflow().
* src/test.c.ref: Flush.
2006-11-30 Mike Kestner <mkestner@novell.com>
* bin/Makefile.am: distcheck fixes
* bin/create-native-map.in: renamed for distcheck friendliness
* src/Makefile.am: distcheck fixes
2006-11-30 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs: _cnm_return_val_if_overflow() shouldn't check
for overflow if DEBUG isn't defined. It's causing too many false
positives in MonoPosixHelper.
* src/test.c.ref: Flush (_cnm_return_val_if_overflow() change).
2006-11-17 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs: SupressFlags values should still be bitwise OR'd
with the value returned from the FromManagedType() functions, just like
they are in the ToManagedType() functions.
* src/test.c.ref: Flush (SuppressFlags fix)
2006-11-15 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs:
- Mask against SuppressFlags if SuppressFlags is non-null, as if you have
bitmask & non-bitmask values in the same enum, it's fairly certain that
the non-bitmask values won't start at 0. This fixes FilePermissions
mapping in MonoPosixHelper.
- Fix _cnm_return_val_if_overflow() macro so that it doesn't generate
warnings about value overflows.
* src/MapAttribute.cs: Change SuppressFlags to be a string, not a bool.
This contains the value to mask against.
* src/TestMap.cs: Test new SuppressFlags semantics.
* src/test.c.ref: Flush (updated _cnm_return_val_if_overflow() value;
addition of bitmask semantics).
2006-10-30 Wade Berrier <wberrier@novell.com>
* src/Makefile.am bin/Makefile.am: add source files to EXTRA_DIST to fix building from
tarball
2006-10-27 Jonathan Pryor <jonpryor@vt.edu>
* man/create-native-map.1: Add documentation for MapAttribute.SuppressFlags;
remove documentation for MapAttribute.NativeSymbolPrefix.
* src/create-native-map.cs: Add support for MapAttribute.SuppressFlags.
* src/MapAttribute.cs: Add SuppressFlags property (default is false).
* src/TestMap.cs: Add [Flags] enums, and tests for [Map(SuppressFlags=true)].
* src/test.c.ref, src/test.cs.ref, src/test.h.ref, src/test.xml.ref: Flush.
2006-10-26 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs: Enclose structure conversion functions with
`#ifdef HAVE_<<native type name>>', as not all platforms will have the
required types. For example, only *nix platforms have `struct stat', so
having a function which uses `struct stat' on Win32 will break (w/o the
use of Cygwin).
* src/test.c.ref: Flush.
2006-10-26 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs: Remove the <inttypes.h> fallback, and just
fallback to the appropriate System.Int??.MinValue/MaxValue values.
* src/test.c.ref: Flush.
2006-10-26 Jonathan Pryor <jonpryor@vt.edu>
* src/create-native-map.cs: Add support for limits fallbacks -- if G_MAXINT8
isn't defined, fallback to INT8_MAX (from <inttypes.h>), and if that
doesn't exist use a hard-coded (possibly wrong) implementation.
* src/test.c.ref: Flush.
2006-10-24 Jonathan Pryor <jonpryor@vt.edu>
* Makefile.am, lib/Makefile.am: Added; build subdirectories.
* bin/create-native-map: Script to startup
`dirname`/../lib/create-native-map/create-native-map.exe.
* bin/Makefile.am: Added; install $bindir/create-native-map.
* lib/create-native-map/Makefile.am: Added; present to make sure
$top_builddir/lib/create-native-map is created.
* lib/pkgconfig/create-native-map.pc.in: Aded; pkgconfig file to copy an
installed version of create-native-map.exe & MapAttribute.cs.
* lib/pkgconfig/Makfile.am: Added; install the create-native-map.pc file.
* man/create-native-map.1: Man page for create-native-map.
* man/Makefile.am: Added; install the man page.
* src/create-native-map.cs:
- Moved from mcs/class/Mono.Posix/Mono.Unix.Native/make-map.cs
- check for t.Namespace==null before looking using
Configuration.NamespaceRenames (Dictionary`2 doesn't like null keys);
- HeaderFileGenerator needs to know about member renames (so it uses the
renamed member in conversion code);
- Clean up enumeration generation for readablility.
- Generate structure declarations for [Map]-decorated types and types used
within a [DllImport]-marked method.
- Warnings should be prefixed with "warning: ".
- Don't generate function prototypes for already-generated functions (e.g.
if we emit a prototype for Mono_Posix_ToFilePermissions, don't
re-declare that function later because we found a DllImport for it).
- Add new arguments: --autoconf-member, --exclude-native-symbol,
--library, --rename-member, --rename-namespace.
These are to:
- Allow native structure members to only be accessed if an Autoconf
macro is defined (--autoconf-member)
- Modify the C "namespace" of types/functions (--rename-namespace)
- Specify the DllImport library that prototypes should be generated for
(--library)
- Exclude symbols from the function declaration system
(--exclude-native-symbol)
- Member renaming (--rename-member).
(Curse you glibc making st_atime a macro!)
* src/Makefile.am: Added; build create-native-map.exe; test cases.
* src/MapAttribute.cs: Added; the attribute that create-native-map looks
for, and should be copied into projects using create-native-map.
* src/TestMap.cs: Added; test case for create-native-map.exe
* src/test.c.ref, src/test.cs.ref, src/test.h.ref, src/test.xml.ref: Added;
expected create-native-map.exe output for TestMap.cs.
* ChangeLog: Started.
|