1  /* m2options.h header file for M2Options.mod.
       2  
       3  Copyright (C) 2012-2023 Free Software Foundation, Inc.
       4  Contributed by Gaius Mulley <gaius@glam.ac.uk>.
       5  
       6  This file is part of GNU Modula-2.
       7  
       8  GNU Modula-2 is free software; you can redistribute it and/or modify
       9  it under the terms of the GNU General Public License as published by
      10  the Free Software Foundation; either version 3, or (at your option)
      11  any later version.
      12  
      13  GNU Modula-2 is distributed in the hope that it will be useful, but
      14  WITHOUT ANY WARRANTY; without even the implied warranty of
      15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      16  General Public License for more details.
      17  
      18  You should have received a copy of the GNU General Public License
      19  along with GNU Modula-2; see the file COPYING3.  If not see
      20  <http://www.gnu.org/licenses/>.  */
      21  
      22  #if !defined(m2options_h)
      23  
      24  #define m2options_h
      25  #if defined(m2options_c)
      26  #if defined(__GNUG__)
      27  #define EXTERN extern "C"
      28  #else /* !__GNUG__.  */
      29  #define EXTERN
      30  #endif /* !__GNUG__.  */
      31  #else /* !m2options_c.  */
      32  #if defined(__GNUG__)
      33  #define EXTERN extern "C"
      34  #else /* !__GNUG__.  */
      35  #define EXTERN extern
      36  #endif /* !__GNUG__.  */
      37  #endif /* !m2options_c.  */
      38  
      39  #include "input.h"
      40  
      41  EXTERN void M2Options_SetSearchPath (const char *arg);
      42  EXTERN void M2Options_setdefextension (const char *arg);
      43  EXTERN void M2Options_setmodextension (const char *arg);
      44  
      45  EXTERN void M2Options_SetISO (bool value);
      46  EXTERN void M2Options_SetPIM (bool value);
      47  EXTERN void M2Options_SetPIM2 (bool value);
      48  EXTERN void M2Options_SetPIM3 (bool value);
      49  EXTERN void M2Options_SetPIM4 (bool value);
      50  EXTERN void M2Options_SetFloatValueCheck (bool value);
      51  EXTERN void M2Options_SetWholeValueCheck (bool value);
      52  
      53  EXTERN bool M2Options_GetISO (void);
      54  EXTERN bool M2Options_GetPIM (void);
      55  EXTERN bool M2Options_GetPIM2 (void);
      56  EXTERN bool M2Options_GetPIM3 (void);
      57  EXTERN bool M2Options_GetPIM4 (void);
      58  EXTERN bool M2Options_GetPositiveModFloor (void);
      59  EXTERN bool M2Options_GetFloatValueCheck (void);
      60  EXTERN bool M2Options_GetWholeValueCheck (void);
      61  
      62  EXTERN void M2Options_Setc (bool value);
      63  EXTERN bool M2Options_Getc (void);
      64  EXTERN void M2Options_SetPPOnly (bool value);
      65  EXTERN bool M2Options_GetPPOnly (void);
      66  
      67  EXTERN void M2Options_SetUselist (bool value, const char *filename);
      68  EXTERN bool M2Options_SetAutoInit (bool value);
      69  EXTERN void M2Options_SetPositiveModFloor (bool value);
      70  EXTERN bool M2Options_SetNilCheck (bool value);
      71  EXTERN void M2Options_SetWholeDiv (bool value);
      72  EXTERN void M2Options_SetIndex (bool value);
      73  EXTERN void M2Options_SetRange (bool value);
      74  EXTERN bool M2Options_SetReturnCheck (bool value);
      75  EXTERN bool M2Options_SetCaseCheck (bool value);
      76  EXTERN bool M2Options_SetCheckAll (bool value);
      77  EXTERN void M2Options_SetExceptions (bool value);
      78  EXTERN void M2Options_SetStyle (bool value);
      79  EXTERN void M2Options_SetPedantic (bool value);
      80  EXTERN void M2Options_SetPedanticParamNames (bool value);
      81  EXTERN void M2Options_SetPedanticCast (bool value);
      82  EXTERN void M2Options_SetExtendedOpaque (bool value);
      83  EXTERN bool M2Options_SetVerboseUnbounded (bool value);
      84  EXTERN void M2Options_SetXCode (bool value);
      85  EXTERN void M2Options_SetCompilerDebugging (bool value);
      86  EXTERN void M2Options_SetQuadDebugging (bool value);
      87  EXTERN void M2Options_SetDebugTraceQuad (bool value);
      88  EXTERN void M2Options_SetDebugTraceAPI (bool value);
      89  EXTERN void M2Options_SetSources (bool value);
      90  EXTERN bool M2Options_SetUnboundedByReference (bool value);
      91  EXTERN void M2Options_SetDumpSystemExports (bool value);
      92  EXTERN void M2Options_SetOptimizing (unsigned int value);
      93  EXTERN bool M2Options_SetQuiet (bool value);
      94  EXTERN void M2Options_SetCC1Quiet (bool value);
      95  EXTERN bool M2Options_SetCpp (bool value);
      96  EXTERN void M2Options_SetSwig (bool value);
      97  EXTERN void M2Options_SetForcedLocation (location_t location);
      98  EXTERN location_t M2Options_OverrideLocation (location_t location);
      99  EXTERN void M2Options_SetStatistics (bool on);
     100  EXTERN void M2Options_CppProg (const char *program);
     101  EXTERN void M2Options_CppArg (const char *opt, const char *arg, bool joined);
     102  EXTERN void M2Options_SetWholeProgram (bool value);
     103  EXTERN void M2Options_FinaliseOptions (void);
     104  EXTERN void M2Options_SetDebugFunctionLineNumbers (bool value);
     105  EXTERN void M2Options_SetGenerateStatementNote (bool value);
     106  EXTERN bool M2Options_GetCpp (void);
     107  EXTERN bool M2Options_GetM2g (void);
     108  EXTERN bool M2Options_SetM2g (bool value);
     109  EXTERN bool M2Options_SetLowerCaseKeywords (bool value);
     110  EXTERN bool M2Options_SetVerbose (bool value);
     111  EXTERN void M2Options_SetUnusedVariableChecking (bool value);
     112  EXTERN void M2Options_SetUnusedParameterChecking (bool value);
     113  EXTERN void M2Options_SetStrictTypeChecking (bool value);
     114  EXTERN void M2Options_SetWall (bool value);
     115  EXTERN void M2Options_SetSaveTemps (bool value);
     116  EXTERN void M2Options_SetSaveTempsDir (const char *arg);
     117  EXTERN void M2Options_SetDumpDir (const char *arg);
     118  EXTERN bool M2Options_GetSaveTemps (void);
     119  EXTERN void M2Options_SetScaffoldStatic (bool value);
     120  EXTERN void M2Options_SetScaffoldDynamic (bool value);
     121  EXTERN void M2Options_SetScaffoldMain (bool value);
     122  EXTERN void M2Options_SetRuntimeModuleOverride (const char *override);
     123  EXTERN void M2Options_SetGenModuleList (bool value, const char *filename);
     124  EXTERN void M2Options_SetShared (bool value);
     125  EXTERN void M2Options_SetB (const char *arg);
     126  EXTERN char *M2Options_GetB (void);
     127  EXTERN void M2Options_SetMD (const char *arg);
     128  EXTERN char *M2Options_GetMD (void);
     129  EXTERN void M2Options_SetMMD (const char *arg);
     130  EXTERN char *M2Options_GetMMD (void);
     131  EXTERN void M2Options_SetMQ (const char *arg);
     132  EXTERN char *M2Options_GetMQ (void);
     133  EXTERN void M2Options_SetObj (const char *arg);
     134  EXTERN char *M2Options_GetObj (void);
     135  EXTERN void M2Options_SetM2Prefix (const char *arg);
     136  EXTERN char *M2Options_GetM2Prefix (void);
     137  EXTERN void M2Options_SetM2PathName (const char *arg);
     138  EXTERN char *M2Options_GetM2PathName (void);
     139  
     140  #undef EXTERN
     141  #endif /* m2options_h.  */