m4

Is there an eclipse plugin for developing in m4?

Googling has turned up little to nothing. I need to develop some heavy stuff in m4 and I'd love to do it in my favorite environment with all the bells and whistles thereof. There are packages for running m4 on just about every platform, such as windows. So I know at the very least I can create a default project and test from the CLI. B...

What is the best way to automatically transpose a LilyPond source file into multiple keys?

problem I'm using LilyPond to typeset sheet music for a church choir to perform. Depending on who is available on any given week, songs will be played in various keys. We have an amazing pianist who can play anything we throw at her and the guitarists will typically pencil in alternate chords, but I want to make things easier by having...

How do I strip a substring given that the total string is too long? (m4)

I have code like this: define(`DOSPACE',`................................... ......................... ................`'ifelse(eval(len(`Space: $2: $3')>60),1,`...'substr($3,eval((60-len(`Space: $2: $3')-7)*-1),$3) ................... ...................') That is, if the total string is too long (over 60 chars), I want to strip off ...

Using m4 macros with Eclipse & Java

Is there a way to use m4 macros when developing in Java for Eclipse, ie. making sure the preprocessor is automatically invoked before Eclipse compiles? Or has anyone used another preprocessor successfully with Eclipse? ...

how can I collapse multiple lines into one line with the m4 preprocessor?

We have an internal configuration file that processes lines one by one. Unfortunately, the lines have gotten really big over time. The config processor does an m4 pre-process on the config file. Is there a way for me to collapse multiple (readable) lines into one line using m4? ...

in m4's patsubst, how do I replace newlines with spaces?

How can I tell m4's patsubstr to replace all newlines in a string with a space? I've tried: patsubst(MULTI_LINE_STR_DEFINE,`\n',` ') and patsubst(MULTI_LINE_STR_DEFINE,`\\n',` ') ...

Why undefine failed in m4?

define(foo,0000) foo 0000 undefine('foo') foo 0000 thanks. jcyang. ...

In autotools, what is dnl'ed?

I see alot in autoconf code about stuff being dnl'ed and not dnl'ed. What is dnl'ed? ...

error when execute autoconf in msys

I have strawberry perl installed and usable. while executing autoconf it show error: $ autoconf The system cannot find the path specified. autom4te-2.64: need GNU m4 1.4 or later: /bin/m4 I do have m4 in msys there and runable, what happening? my m4: $ /bin/m4 --version GNU M4 1.4.7 Copyright (C) 2006 Free Software Foundation, Inc. Thi...

What's the point of aclocal?

What's the point of the aclocal script and aclocal.m4 file, in context of using autotools to configure source files? From what I read, aclocal scans macro files for macros that are later used by automake. I don't understand this process in depth, but it seems that the scanning functionality could have just been embedded into automake. ...

How do I escape text in autoconf/m4?

The following code from my configuration.ac file does not work (note the nested square brackets with [default=no]): AC_ARG_ENABLE(debug, [ --enable-debug build with debugging support [default=no].], [DEBUG="$enableval"], [DEBUG="no"] ) How can I escape those brackets? ...

autoconf, how to include file from AC_CONFIG_SRCDIR file

hello I would like to be able to merge two files into one during configure run. I already do textural replacement using AC_CONFIG_SRCDIR[file.hpp] macro on some files. is there some directive to include files from file.hpp.in, some sort of @include (another.hpp) @ or something like that? Thanks ...

Generating DDL (specific to postgres) Scripts Conditionally

My application does not fit into the "general purpose" RDBMS schema category, I do not want a ginormous DDL script -- therefore I would need #include semantics and I will probably have different variants of the scripts therefore I would need #ifdef semantics. Is GNU m4 the way to go ? Or perhaps there are some macro cabilities in psql ...

16-bit timers in M4-64/32

does anyone know how to initialise the 16-bit timers in M4-64/32? ...

How can I escape paths with spaces inside AC_CONFIG_SRCDIR

I need to include some paths in AC_CONFIG_SRCDIR which contain spaces. How should I escape them? For example, if I have "some file.in", how should I declare it in: AC_CONFIG_SRCDIR[some file] ...

Variable argument lists in m4

Anyone know how to write an m4 macro to accepts an arbitrary list of parameters? Here is an example for what I want to implement: ADD_OBJECTS_TO_LAYOUT(`LAYOUT_1', (`OBJ_ID_SQUARE', `COLOR_ID_RED')) ADD_OBJECTS_TO_LAYOUT(`LAYOUT_2', (`OBJ_ID_SQUARE', `COLOR_ID_RED'), (`OBJ_ID_CIRCLE', `COLOR_ID_GREEN')) ADD_OBJECTS_TO_LAYOUT(`LAYOUT_3'...

How to match newlines in GNU M4 _properly_

Hi I am trying to craft a macro replacing newlines. My first try was: define(`m4_pascal_str',` patsubst(`$1',`^\(.*\)$',`\1++') ') m4_pascal_str(` 11 22 33 44 ') define(zz,` 11 22 33 44 ') m4_pascal_str(`zz') That gives correct answer when not using intermediate macro, and match only last newline otherwise. See result...

how to run and install phpize

Hi there, I have been meaning to install ffmpeg as an extension to my php setup. So before I can install it, I need to phpize it. I installed php5-dev by sudo apt-get install php5-dev But now when I run phpize I get the following error : phpize Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source di...

Scala, Maven, and preprocessors

I know all of the philosophical arguments against preprocessors and macros in Java. I don't agree that just because some may abuse a language feature, it should be excluded for all. I would like to include __FILE__ and __LINE__ macros in my Java and Scala code for efficient logging. Any use of Exception is unacceptable because of runtim...

Generic preprocessor: How to use for any kind of file?

Hi, I was wondering if someone uses a generic preprocessor for manipulating text files. The idea came up, as Java does not have a preprocessor, but I'd like to have conditional code compilation, etc. Now, taking that idea further, I might as well use a generic preprocessor for any kind of files that need frequent editing, but all edits...