I was able to hack together a makefile for Ficl for
builds under Cygwin/GCC. The problem is, gcc 3 wont
touch the contents of win32.c... I'll try to add
another CFLAGS switch into the makefile I created.
--build log start--
ficlplatform/win32.c:36: error: syntax error before
"ioinfo"
ficlplatform/win32.c: In function `ficlFileTruncate':
ficlplatform/win32.c:47: error: `HANDLE' undeclared
(first use in this function)
ficlplatform/win32.c:47: error: (Each undeclared
identifier is reported only onc
e
ficlplatform/win32.c:47: error: for each function it
appears in.)
ficlplatform/win32.c:47: error: parse error before "hFile"
ficlplatform/win32.c:48: error: `hFile' undeclared
(first use in this function)
ficlplatform/win32.c:48: error: `FILE_BEGIN' undeclared
(first use in this funct
ion)
ficlplatform/win32.c: In function `ficlFileStatus':
ficlplatform/win32.c:61: error: `DWORD' undeclared
(first use in this function)
ficlplatform/win32.c:61: error: parse error before
"attributes"
ficlplatform/win32.c:62: error: `attributes' undeclared
(first use in this funct
ion)
ficlplatform/win32.c: In function `ficlPrimitiveMulticall':
ficlplatform/win32.c:210: error:
`FICL_MULTICALL_CALLTYPE_VIRTUAL_METHOD' undecl
ared (first use in this function)
ficlplatform/win32.c:236: error:
`FICL_MULTICALL_CALLTYPE_FUNCTION' undeclared (
first use in this function)
ficlplatform/win32.c:238: error:
`FICL_MULTICALL_EXPLICIT_VTABLE' undeclared (fi
rst use in this function)
ficlplatform/win32.c:241: error: parse error before "push"
ficlplatform/win32.c:249: error: parse error before "mov"
ficlplatform/win32.c:253: error: parse error before "mov"
ficlplatform/win32.c: At top level:
ficlplatform/win32.c:261: error: parse error before "else"
ficlplatform/win32.c:264: warning: data definition has
no type or storage class
ficlplatform/win32.c:265: error: parse error before '}'
token
ficlplatform/win32.c:272: error: parse error before '('
token
ficlplatform/win32.c:272: warning: parameter names
(without types) in function d
eclaration
ficlplatform/win32.c:272: error: `ficlCallbackAssert'
declared as function retur
ning a function
ficlplatform/win32.c:272: error: conflicting types for
`ficlCallbackAssert'
ficl.h:1328: error: previous declaration of
`ficlCallbackAssert'
ficlplatform/win32.c:272: error: parse error before '!'
token
ficlplatform/win32.c:286: error: conflicting types for
`address'
ficlplatform/win32.c:284: error: previous declaration
of `address'
ficlplatform/win32.c:286: error: `vm' undeclared here
(not in a function)
ficlplatform/win32.c:286: warning: data definition has
no type or storage class
ficlplatform/win32.c:287: error: `argument' undeclared
here (not in a function)
ficlplatform/win32.c:287: warning: data definition has
no type or storage class
ficlplatform/win32.c:288: error: conflicting types for
`buffer'
ficlplatform/win32.c:285: error: previous declaration
of `buffer'
ficlplatform/win32.c:288: warning: data definition has
no type or storage class
ficlplatform/win32.c:289: warning: parameter names
(without types) in function d
eclaration
ficlplatform/win32.c:289: warning: data definition has
no type or storage class
ficlplatform/win32.c:290: error: variable-size type
declared outside of any func
tion
ficlplatform/win32.c:290: error: variable-sized object
may not be initialized
ficlplatform/win32.c:290: error: conflicting types for
`buffer'
ficlplatform/win32.c:288: error: previous declaration
of `buffer'
ficlplatform/win32.c:290: warning: data definition has
no type or storage class
ficlplatform/win32.c:291: error: `fixupIndex'
undeclared here (not in a function
)
ficlplatform/win32.c:291: warning: data definition has
no type or storage class
ficlplatform/win32.c:292: warning: data definition has
no type or storage class
ficlplatform/win32.c:293: error: parse error before
'--' token
ficlplatform/win32.c:298: warning: initialization makes
pointer from integer wit
hout a cast
ficlplatform/win32.c:298: error: initializer element is
not constant
ficlplatform/win32.c:298: warning: data definition has
no type or storage class
ficlplatform/win32.c:299: error: parse error before
'+=' token
ficlplatform/win32.c:354: error: parse error before
'->' token
ficlplatform/win32.c:354: error: conflicting types for
`ficlStackPushInteger'
ficl.h:962: error: previous declaration of
`ficlStackPushInteger'
ficlplatform/win32.c:354: warning: data definition has
no type or storage class
ficlplatform/win32.c:355: error: parse error before
'->' token
ficlplatform/win32.c:367: warning: parameter names
(without types) in function d
eclaration
ficlplatform/win32.c:367: error: conflicting types for
`free'
/usr/include/stdlib.h:76: error: previous declaration
of `free'
ficlplatform/win32.c:367: warning: data definition has
no type or storage class
ficlplatform/win32.c:368: error: parse error before '}'
token
ficlplatform/win32.c: In function
`ficlSystemCompilePlatform':
ficlplatform/win32.c:382: error: `HMODULE' undeclared
(first use in this functio
n)
ficlplatform/win32.c:382: error: parse error before
"hModule"
ficlplatform/win32.c:392: error:
`FICL_MULTICALL_CALLTYPE_FUNCTION' undeclared (
first use in this function)
ficlplatform/win32.c:393: error:
`FICL_MULTICALL_CALLTYPE_METHOD' undeclared (fi
rst use in this function)
ficlplatform/win32.c:394: error:
`FICL_MULTICALL_CALLTYPE_VIRTUAL_METHOD' undecl
ared (first use in this function)
ficlplatform/win32.c:395: error:
`FICL_MULTICALL_RETURNTYPE_VOID' undeclared (fi
rst use in this function)
ficlplatform/win32.c:396: error:
`FICL_MULTICALL_RETURNTYPE_INTEGER' undeclared
(first use in this function)
ficlplatform/win32.c:397: error:
`FICL_MULTICALL_RETURNTYPE_CSTRING' undeclared
(first use in this function)
ficlplatform/win32.c:398: error:
`FICL_MULTICALL_RETURNTYPE_FLOAT' undeclared (f
irst use in this function)
ficlplatform/win32.c:399: error:
`FICL_MULTICALL_REVERSE_ARGUMENTS' undeclared (
first use in this function)
ficlplatform/win32.c:400: error:
`FICL_MULTICALL_EXPLICIT_VTABLE' undeclared (fi
rst use in this function)
ficlplatform/win32.c:407: error: `hModule' undeclared
(first use in this functio
n)
ficlplatform/win32.c: At top level:
ficlplatform/win32.c:36: warning: array `__pioinfo'
assumed to have one element
ficlplatform/win32.c:291: error: storage size of
`fixups' isn't known
--end build log--
Logged In: YES
user_id=604556
My proposed fix solved some of the issues, but not
all...Here is the updated build log.
--build log starts--
ficlplatform/win32.c: In function `ficlPrimitiveMulticall':
ficlplatform/win32.c:241: error: parse error before "push"
ficlplatform/win32.c:249: error: parse error before "mov"
ficlplatform/win32.c:253: error: parse error before "mov"
ficlplatform/win32.c: At top level:
ficlplatform/win32.c:261: error: parse error before "else"
ficlplatform/win32.c:264: warning: data definition has no
type or storage class
ficlplatform/win32.c:265: error: parse error before '}' token
ficlplatform/win32.c:272: error: parse error before '(' token
ficlplatform/win32.c:272: warning: parameter names (without
types) in function d
eclaration
ficlplatform/win32.c:272: error: `ficlCallbackAssert'
declared as function retur
ning a function
ficlplatform/win32.c:272: error: conflicting types for
`ficlCallbackAssert'
ficl.h:1328: error: previous declaration of `ficlCallbackAssert'
ficlplatform/win32.c:272: error: parse error before '!' token
ficlplatform/win32.c:286: error: conflicting types for `address'
ficlplatform/win32.c:284: error: previous declaration of
`address'
ficlplatform/win32.c:286: error: `vm' undeclared here (not
in a function)
ficlplatform/win32.c:286: warning: data definition has no
type or storage class
ficlplatform/win32.c:287: error: `argument' undeclared here
(not in a function)
ficlplatform/win32.c:287: warning: data definition has no
type or storage class
ficlplatform/win32.c:288: error: conflicting types for `buffer'
ficlplatform/win32.c:285: error: previous declaration of
`buffer'
ficlplatform/win32.c:288: warning: data definition has no
type or storage class
ficlplatform/win32.c:289: warning: parameter names (without
types) in function d
eclaration
ficlplatform/win32.c:289: warning: data definition has no
type or storage class
ficlplatform/win32.c:290: error: variable-size type declared
outside of any func
tion
ficlplatform/win32.c:290: error: variable-sized object may
not be initialized
ficlplatform/win32.c:290: error: conflicting types for `buffer'
ficlplatform/win32.c:288: error: previous declaration of
`buffer'
ficlplatform/win32.c:290: warning: data definition has no
type or storage class
ficlplatform/win32.c:291: error: `fixupIndex' undeclared
here (not in a function
)
ficlplatform/win32.c:291: warning: data definition has no
type or storage class
ficlplatform/win32.c:292: warning: data definition has no
type or storage class
ficlplatform/win32.c:293: error: parse error before '--' token
ficlplatform/win32.c:298: warning: initialization makes
pointer from integer wit
hout a cast
ficlplatform/win32.c:298: error: initializer element is not
constant
ficlplatform/win32.c:298: warning: data definition has no
type or storage class
ficlplatform/win32.c:299: error: parse error before '+=' token
ficlplatform/win32.c:354: error: parse error before '->' token
ficlplatform/win32.c:354: error: conflicting types for
`ficlStackPushInteger'
ficl.h:962: error: previous declaration of
`ficlStackPushInteger'
ficlplatform/win32.c:354: warning: data definition has no
type or storage class
ficlplatform/win32.c:355: error: parse error before '->' token
ficlplatform/win32.c:367: warning: parameter names (without
types) in function d
eclaration
ficlplatform/win32.c:367: error: conflicting types for `free'
/usr/i686-pc-mingw32/include/stdlib.h:354: error: previous
declaration of `free'
ficlplatform/win32.c:367: warning: data definition has no
type or storage class
ficlplatform/win32.c:368: error: parse error before '}' token
ficlplatform/win32.c:291: error: storage size of `fixups'
isn't known
--end build log--
Logged In: YES
user_id=604556
I think most of the syntax errors are caused by the
differences in asm syntax between MSVC and GCC3. I will
post my Makefile.cygwin32 and my cygwin32.c in this bug
report. If anyone has Cygwin and knows both the MSVC 6/7
and the GCC 3 ABI's, I would like it if you can finish the
porting effort by rewriting the multicall mechanism to work
properly with GCC-compiled code.
Logged In: YES
user_id=604556
I finished converting all of the asm's in win32.c, but it
still doesn't compile properly... Here is the new build log:
--start build log--
ficlplatform/win32.c: In function `ficlPrimitiveMulticall':
ficlplatform/win32.c:241: error: parse error before "push"
ficlplatform/win32.c:249: error: parse error before "mov"
ficlplatform/win32.c:253: error: parse error before "mov"
ficlplatform/win32.c: At top level:
ficlplatform/win32.c:261: error: parse error before "else"
ficlplatform/win32.c:264: warning: data definition has no
type or storage class
ficlplatform/win32.c:265: error: parse error before '}' token
ficlplatform/win32.c:272: error: parse error before '(' token
ficlplatform/win32.c:272: warning: parameter names (without
types) in function d
eclaration
ficlplatform/win32.c:272: error: `ficlCallbackAssert'
declared as function retur
ning a function
ficlplatform/win32.c:272: error: conflicting types for
`ficlCallbackAssert'
ficl.h:1328: error: previous declaration of `ficlCallbackAssert'
ficlplatform/win32.c:272: error: parse error before '!' token
ficlplatform/win32.c:286: error: conflicting types for `address'
ficlplatform/win32.c:284: error: previous declaration of
`address'
ficlplatform/win32.c:286: error: `vm' undeclared here (not
in a function)
ficlplatform/win32.c:286: warning: data definition has no
type or storage class
ficlplatform/win32.c:287: error: `argument' undeclared here
(not in a function)
ficlplatform/win32.c:287: warning: data definition has no
type or storage class
ficlplatform/win32.c:288: error: conflicting types for `buffer'
ficlplatform/win32.c:285: error: previous declaration of
`buffer'
ficlplatform/win32.c:288: warning: data definition has no
type or storage class
ficlplatform/win32.c:289: warning: parameter names (without
types) in function d
eclaration
ficlplatform/win32.c:289: warning: data definition has no
type or storage class
ficlplatform/win32.c:290: error: variable-size type declared
outside of any func
tion
ficlplatform/win32.c:290: error: variable-sized object may
not be initialized
ficlplatform/win32.c:290: error: conflicting types for `buffer'
ficlplatform/win32.c:288: error: previous declaration of
`buffer'
ficlplatform/win32.c:290: warning: data definition has no
type or storage class
ficlplatform/win32.c:291: error: `fixupIndex' undeclared
here (not in a function
)
ficlplatform/win32.c:291: warning: data definition has no
type or storage class
ficlplatform/win32.c:292: warning: data definition has no
type or storage class
ficlplatform/win32.c:293: error: parse error before '--' token
ficlplatform/win32.c:298: warning: initialization makes
pointer from integer wit
hout a cast
ficlplatform/win32.c:298: error: initializer element is not
constant
ficlplatform/win32.c:298: warning: data definition has no
type or storage class
ficlplatform/win32.c:299: error: parse error before '+=' token
ficlplatform/win32.c:354: error: parse error before '->' token
ficlplatform/win32.c:354: error: conflicting types for
`ficlStackPushInteger'
ficl.h:962: error: previous declaration of
`ficlStackPushInteger'
ficlplatform/win32.c:354: warning: data definition has no
type or storage class
ficlplatform/win32.c:355: error: parse error before '->' token
ficlplatform/win32.c:367: warning: parameter names (without
types) in function d
eclaration
ficlplatform/win32.c:367: error: conflicting types for `free'
/usr/i686-pc-mingw32/include/stdlib.h:354: error: previous
declaration of `free'
ficlplatform/win32.c:367: warning: data definition has no
type or storage class
ficlplatform/win32.c:368: error: parse error before '}' token
ficlplatform/win32.c:291: error: storage size of `fixups'
isn't known
--end build log--
My Cygwin makefile
My cygwin32.c