OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [services/] [gfx/] [mw/] [v2_0/] [src/] [nanox/] [elkspatch.pl] - Rev 27

Go to most recent revision | Compare with Previous | Blame | View Log

#!/usr/bin/perl
# elkspatch.pl
#
# Perl script to hack AllocReq macros for ELKS bcc compiler
#
# This script rewrites the AllocReq macro which uses ANSI C's '##'
# token pasting operator to an input compatible with the bcc compiler
#
# This is only required if desiring to build client/server Nano-X for ELKS
# To run:
#	mv client.c client.dist
#	./elkspatch.pl < client.dist > client.c
#
 
while (<>) {
	if (/^(.*)AllocReq\(([A-Za-z]+)\)(.*)$/) {
		print("#if ELKS /* KLUDGE */\n");
		printf("%s((nx%sReq *)nxAllocReq(GrNum%s,(long)sizeof(nx%sReq), 0L))%s /* KLUDGE */\n",
			$1, $2, $2, $2, $3);
		print("#else /* KLUDGE */\n");
		print;
		print("#endif /* KLUDGE */\n");
	} elsif (/^(.*)AllocReqExtra\(([A-Za-z]+) *, *(.*)\)(;)$/) {
		print("#if ELKS /* KLUDGE */\n");
		printf("%s((nx%sReq *)nxAllocReq(GrNum%s,(long)sizeof(nx%sReq), (long)%s))%s /* KLUDGE */\n",
			$1, $2, $2, $2, $3, $4);
		print("#else /* KLUDGE */\n");
		print;
		print("#endif /* KLUDGE */\n");
	} else {
		print;
	}
}
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.