Skip to content

Libretro-common resync - some things we need #24

@inactive123

Description

@inactive123

Hi there,

following earlier conversations with @alucryd , I'm fine with resyncing libchdr so that libretro-common, RetroArch and upstream libchdr are all on the same page again.

However, if we may humbly make some tiny requests, there are a couple of things still preventing us from not having to make a single edit to the sources. If these could be addressed then we could get rid of our own fork -

  1. Uniquely namespace all source file names. These files get statically linked with libretro cores. There are compilers/toolchains where having two source files with the exact same name creates a problem where only one will be linked. You can see here how we basically renamed all files for libchdr and prefixed 'libchdr_' to it.

https://github.com/libretro/RetroArch/tree/master/libretro-common/formats/libchdr

  1. Header includes. On our shallow fork you see that we try pulling from the system directory first -

https://github.com/libretro/RetroArch/blob/master/libretro-common/formats/libchdr/libchdr_bitstream.c#L12

For various libretro cores and for RetroArch itself, we set several include dirs for header files. Again, this is a small thing, but the way it is right now in upstream can pose problems on certain compilers/toolchains we care about.

So far, these are the only two things I can think of. They should be relatively small requests hopefully.

If any additions have been made to libchdr in any of the libretro cores that have not been upstreamed yet, hopefully @alucryd can help us out in that endeavor to make sure that all these missing parts are submitted to you as PRs so that we can finally have one central libchdr version with all the features and we no longer have to make these forks.

Thanks for reading.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions