/fbbindings

Scripts for fbfrog-based FreeBASIC bindings

Primary LanguageFreeBasic

This repository contains...
* scripts for using fbfrog to generate .bi files for selected C libraries,
* manual modifications to those raw, generated .bi files,
* and the resulting .bi files themselves.

There are two branches:
* raw: .bi files as generated by fbfrog
* master: final .bi files = raw + manual modifications

Workflow:
1. Add new or update existing binding by adjusting the scripts and committing
   the new raw .bi files in the "raw" branch
2. Merge "raw" into "master". If the raw .bi isn't ready for use, commit manual
   modifications to "master" to make it usable. If needed, fix merge conflicts,
   e.g. in case old manual modifications no longer apply to new raw .bi files.
Hopefully, most manual modifications can be reapplied to updated raw .bi files
automatically. This way we could update FreeBASIC bindings without having to
redo most of the manual work.

Copying the scripts (makefile, associated helper files):
  Copyright © 2014-2015 Daniel C. Klauer

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.

Tests:
  Bindings should at least compile ok. This should be tested for multiple
  targets because bindings often have target-specific parts. However, some
  bindings don't (and don't need to) work for all targets: for example, winapi
  only supports win32/win64.
  Ideally, common cases where several bindings are used together should also be
  tested, to prevent inter-binding conflicts.