MODULE vs INCLUDE (CVF Directives)
From: Gary L. Scott (garyscott_at_ev1.net)
Date: 02/27/04
- Next message: Steve Lionel: "Re: DVF/CVF/IVF: How to access the EXE's file version info?"
- Previous message: Arjen Markus: "Re: Q: Summary Argument Passing Convention(s)"
- Next in thread: Steve Lionel: "Re: MODULE vs INCLUDE (CVF Directives)"
- Reply: Steve Lionel: "Re: MODULE vs INCLUDE (CVF Directives)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Fri, 27 Feb 2004 06:43:53 -0600
Below is the content of an include file I'm thinking of using for code
tailoring to produce library versions compatible with different
compilers. It would be nicer (for my CM sensibilities) if I could put
this in a module (only thing in it is compiler directives), but CVF
won't allow that since the directives are not within the scope of a
procedure within the module (would be at the point of USE though). Are
comments are not even included in the module, directive or not? I would
assume the directive must be stored. Is that as it should be
(theoretical question, ignoring whether I've gotten it right for LF95
yet)?
!
! Compiler tailoring
!
!DEC$ IF (compiler .EQ. 1) !Lahey LF95
!DEC$ IF (api .EQ. 1) !API #1
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconstrace_' :: ezConsTrace
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_eztrce_' :: EZTRCE
!DEC$ ELSEIF (api .eq. 2)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsinit_' :: ezConsInit
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezinit_' :: EZINIT
!DEC$ ELSEIF (api .eq. 3)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsopen_' :: ezConsOpen
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezopen_' :: EZOPEN
!DEC$ ELSEIF (api .eq. 4)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsclose_' :: ezConsclose
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezclos_' :: EZCLOS
!DEC$ ELSEIF (api .eq. 5)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconssettitle_' :: ezConsSetTitle
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezsttl_' :: EZSTTL
!DEC$ ELSEIF (api .eq. 6)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsgettitle_' :: ezConsGetTitle
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezgttl_' :: EZGTTL
!DEC$ ELSEIF (api .eq. 7)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconscreatebuffer_' :: ezConsCreateBuffer
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezcbuf_' :: EZCBUF
!DEC$ ELSEIF (api .eq. 8)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsgetstdhandle_' :: ezConsGetStdHandle
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezgsh_' :: EZGSH
!DEC$ ELSEIF (api .eq. 9)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconswritetext_' :: ezConsWriteText
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezwtxt_' :: EZWTXT
!DEC$ ELSEIF (api .eq. 10)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconssetcurspos_' :: ezConsSetCursPos
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezscp_' :: EZSCP
!DEC$ ELSEIF (api .eq. 11)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconssetsecatt_' :: ezConsSetSecAtt
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezssa_' :: EZSSA
!DEC$ ELSEIF (api .eq. 12)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconssettextatt_' :: ezConsSetTextAtt
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezsta_' :: EZSTA
!DEC$ ELSEIF (api .eq. 13)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsctrlevent_' :: ezConsCtrlEvent
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezcev_' :: EZCEV
!DEC$ ELSEIF (api .eq. 14)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsgeterrortext_' :: ezConsGetErrorText
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezetxt_' :: EZETXT
!DEC$ ELSEIF (api .eq. 15)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsgetoserrortext_' :: ezConsGetOSErrorText
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezgoet_' :: EZGOET
!DEC$ ELSEIF (api .eq. 16)
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezconsmsgbox_' :: ezConsMsgBox
!DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezmbox_' :: EZMBOX
!DEC$ ELSEIF (api .eq. 17)
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezcons_' :: ezCons
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ez_' :: EZ
!DEC$ ELSEIF (api .eq. 18)
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezcons_' :: ezCons
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ez_' :: EZ
!DEC$ ELSEIF (api .eq. 19)
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezcons_' :: ezCons
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ez_' :: EZ
!DEC$ ELSEIF (api .eq. 20)
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ezcons_' :: ezCons
! DEC$ ATTRIBUTES DLLEXPORT, REFERENCE, NOMIXED_STR_LEN_ARG,
ALIAS:'_ez_' :: EZ
!DEC$ ENDIF
!DEC$ ELSEIF (compiler .eq. 2)
...
!DEC$ ENDIF
-- Gary Scott mailto:garyscottNOSPAM@ev1.net Fortran Library http://www.fortranlib.com Support the GNU Fortran G95 Project: http://g95.sourceforge.net
- Next message: Steve Lionel: "Re: DVF/CVF/IVF: How to access the EXE's file version info?"
- Previous message: Arjen Markus: "Re: Q: Summary Argument Passing Convention(s)"
- Next in thread: Steve Lionel: "Re: MODULE vs INCLUDE (CVF Directives)"
- Reply: Steve Lionel: "Re: MODULE vs INCLUDE (CVF Directives)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]