I am developing a linear algebra based tool in C++ that allows users to link to OpenBLAS/ATLAS/Intel MKL on different operating systems. This is all well and good on Windows and Linux, but I would prefer to allow OS X users to link also to Accelerate Framework. However, my code uses LAPACKE, which is a C interface to LAPACK (e.g the functions are LAPACKE_fxname), which does not seem to be part of the Accelerate Framework. Instead, it has CLAPACK f2c'd functions (e.g. the functions are fxname_), which have a different interface and use column-major storage.
Since the rest of my code works on row-major, I'd rather not have to convert the matrix to column major so that I can use the CLAPACK when on OS X, but is that my only option? In other words, when developing cross-platform software with LAPACKE, is there any way to use the Accelerate Framework? Or is there any trick I can use to use the CLAPACK functions on row-major arrays (maybe just pass the "transposed" flag for "not transposed" operations? It seems to me that a row-major matrix is stored in the same way as a transposed column order matrix.)?