summaryrefslogtreecommitdiffstats
path: root/src/java/com/jogamp/gluegen/pcpp
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2010-11-09 02:42:03 +0100
committerSven Gothel <[email protected]>2010-11-09 02:42:03 +0100
commit7865b355bd52958f4b27e42b500e83c52255ef37 (patch)
treecdd887ede9b43f1a3d18527cf9eaabc9627946da /src/java/com/jogamp/gluegen/pcpp
parent08a74fb5d45f29f4d77a2713d1ebca4343519eb0 (diff)
Gluegen: Types (stddef/stdint), Header and Predefined Macro Change
Read API doc ad GlueGen.java New predefined types: wchar_t, intptr_t, uintptr_t New reusable headers for gluegen usage: make/stub_includes/gluegen for native usage: make/stub_includes/platform New predefined macro #define __GLUEGEN__ 2
Diffstat (limited to 'src/java/com/jogamp/gluegen/pcpp')
-rw-r--r--src/java/com/jogamp/gluegen/pcpp/PCPP.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/java/com/jogamp/gluegen/pcpp/PCPP.java b/src/java/com/jogamp/gluegen/pcpp/PCPP.java
index f34a707..45a92df 100644
--- a/src/java/com/jogamp/gluegen/pcpp/PCPP.java
+++ b/src/java/com/jogamp/gluegen/pcpp/PCPP.java
@@ -517,6 +517,16 @@ public class PCPP {
while (nextToken(true) != StreamTokenizer.TT_EOL) {
values.add(curTokenAsString());
}
+ addDefine(name, macroDefinition, values);
+ }
+
+ public void addDefine(String name, String value) {
+ List<String> values = new ArrayList<String>();
+ values.add(value);
+ addDefine(name, false, values);
+ }
+
+ private void addDefine(String name, boolean nameIsMacro, List<String> values) {
// if we're not within an active block of code (like inside an "#ifdef
// FOO" where FOO isn't defined), then don't actually alter the definition
// map.
@@ -561,8 +571,8 @@ public class PCPP {
// TO DO: Is this correct? Why not output the symbol unchanged?
// I think that it's a good thing to see that some symbols are
// defined in terms of others. -chris
- macroDefinition = newValue.contains("(");
- if(macroDefinition) {
+ boolean valueIsMacro = newValue.contains("(");
+ if(valueIsMacro) {
// parser can't dig this currently
emitDefine = false;
} else {
@@ -576,8 +586,7 @@ public class PCPP {
}
}
- } else if (macroDefinition) {
-
+ } else if (nameIsMacro) {
// list parameters
List<String> params = new ArrayList<String>();
for (int i = 1; i < values.size(); i++) {