GithubHelp home page GithubHelp logo

adtools / sfdc Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 9.0 403 KB

sfdc is an open source replacement for Amiga, Inc.'s sfd tool, distributed with NDK 3.9. It is also an replacement for fd2inline.

License: GNU General Public License v2.0

Perl 93.25% Shell 1.40% Makefile 0.44% Roff 4.67% M4 0.24%

sfdc's Introduction

adtools

Repository for releasing compiled adtools archives

sfdc's People

Contributors

adamel avatar bebbo avatar broadblues avatar cahirwpz avatar futaura avatar jens-maus avatar leviticusmb avatar sezero avatar stanman29 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sfdc's Issues

Allow private functions to be included in clib/proto file

Currently sfdc will omit all private functions when generating the clib/proto file.

For example having function definitions like this:

==public
void public_foobar(int param) (d0)
==private
void private_foobar(int param) (d0)

Then call sfdc like this:
sfdc --mode=clib foobar_lib.sfd

The generated file will contain a prototype for public_foobar(), but not for private_foobar(). This might be desired when generating proto files for the public, but for generating private proto files it is not very convenient. The same applies for --mode=macros.

However, with --mode=gateproto, --mode=gatestubs, --mode=interface (and possibly some more modes) even private functions are included in the output.

1. Text in four files the same. 2. is the current version correct?

Description in four files is the same. Is there a way to have the sfdc.readme.in text used by the other three files? [ gg-sfdc.spec, gg-sfdc.spec.in, sfdc.readme ]
Or can the text be put in another file for all the four files to use?
The current version (v1.10) in sfdc.readme does not match the %changelog (v1.4) in [ gg-sfdc.spec, gg-sfdc.spec.in ]
Is this version number correct? Does configure.in @Version@ need to be changed? @Date@ too?

Build issue (minor)

Hello there,
On building https://github.com/bebbo/amigaos-cross-toolchain , I get a break on build on the tool sfdc. I classify it as minor cause it breaks two time and then it continues somehow.

Here is output from break 1:
DEBUG: enter directory ".build-m68k/build/sfdc"
DEBUG: execute "make -j1"
pod2man sfdc -o sfdc.1
sfdc around line 5562: Non-ASCII character seen before =encoding in 'still�have'. Assuming ISO8859-1
sfdc around line 5570: '=item' outside of any '=over'
sfdc around line 5598: Expected text after =item, not a bullet
sfdc around line 5604: Expected text after =item, not a bullet
sfdc around line 5608: Expected text after =item, not a bullet
sfdc around line 5614: Expected text after =item, not a bullet
sfdc around line 5621: Expected text after =item, not a bullet
sfdc around line 5626: Expected text after =item, not a bullet
sfdc around line 5635: Expected text after =item, not a bullet
sfdc around line 5640: Expected text after =item, not a bullet
sfdc around line 5645: Expected text after =item, not a bullet
sfdc around line 5649: Expected text after =item, not a bullet
sfdc around line 5653: Expected text after =item, not a bullet
sfdc around line 5657: Expected text after =item, not a bullet
sfdc around line 5662: Expected text after =item, not a bullet
sfdc around line 5570: =over without closing =back
POD document had syntax errors at /usr/bin/pod2man line 68.
Makefile:56: recipe for target 'sfdc.1' failed
make: *** [sfdc.1] Error 255

Here from break 2:

pod2text -c sfdc -o sfdc.txt
sfdc around line 5562: Non-ASCII character seen before =encoding in 'still�have'. Assuming ISO8859-1
sfdc around line 5570: '=item' outside of any '=over'
sfdc around line 5598: Expected text after =item, not a bullet
sfdc around line 5604: Expected text after =item, not a bullet
sfdc around line 5608: Expected text after =item, not a bullet
sfdc around line 5614: Expected text after =item, not a bullet
sfdc around line 5621: Expected text after =item, not a bullet
sfdc around line 5626: Expected text after =item, not a bullet
sfdc around line 5635: Expected text after =item, not a bullet
sfdc around line 5640: Expected text after =item, not a bullet
sfdc around line 5645: Expected text after =item, not a bullet
sfdc around line 5649: Expected text after =item, not a bullet
sfdc around line 5653: Expected text after =item, not a bullet
sfdc around line 5657: Expected text after =item, not a bullet
sfdc around line 5662: Expected text after =item, not a bullet
sfdc around line 5570: =over without closing =back
POD document had syntax errors at /usr/bin/pod2text line 81.
Makefile:59: recipe for target 'sfdc.txt' failed
make: *** [sfdc.txt] Error 255
ERROR: command "make -j1" failed with 2

sfdc must mot lowercase basename

At present, sfdc lowercases basename, and that results in broken proto/Warp3D.h
with #include <clib/warp3d_protos.h> instead of #include <clib/Warp3D_protos.h>

For a similar past issue, see: adtools/fd2pragma@a640e4a

I suggest something like below: (minimally tested)

diff --git a/sfdc b/sfdc
index 3b8cb2d..f35e7af 100755
--- a/sfdc
+++ b/sfdc
@@ -689,9 +689,9 @@ sub parse_sfd ( $ ) {
     }
 
     $$result{'basename'} =~ s/-/_/g;
-    $$result{'basename'} = lc $$result{'basename'};
     $$result{'BASENAME'} = uc $$result{'basename'};
-    $$result{'Basename'} = ucfirst $$result{'basename'};
+    $$result{'Basename'} = lc $$result{'basename'};
+    $$result{'Basename'} = ucfirst $$result{'Basename'};
     ($result->{BaseName} = $result->{base}) =~ s/Base//;
 
     return $result;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.