Diferenciar en librería entre Uno y Due

Buenas a todos,

Resulta que el proyecto que estoy realizando necesito de usar 2 puertos serial "a la vez" y estoy empleando la librería SoftwareSerial para ello. El problema es que en el Arduno Uno no puedes usar dos puertos serial creado de esta manera a la vez.
La cuestión es que una parte del proyecto no tiene esa necesidad y una de las librerías puede dejarse tal y como esta. Para las otras tengo que adaptarlas el código pasando de un Arduino Uno a un Arduino Due para poder usar sus puertos serial a la vez.

La cosa esta en que me gustaría poder saber cuando cargo la librería si es para el Uno o el Due, y de esta forma cargar un código u otro. Creo que esto se puede hacer, pero no he visto en internet ni en las librerías que tengo descargadas ningún ejemplo, y no se me ocurre que mas poner en google para buscarlo.

Si me pudierais decir alguna librería de ejemplo o algún enlace de ejemplo os estaría muy agradecido

Debes usar sentencias PRAGMA las que ves en las librerías con este identificador #

Estas son para arduinos y sus versiones

Mega

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)

// Código aquie para Mega

#endif

Esto para Arduino

#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)

// Código aqui para UNO o mas viejos 

#endif

Y esto para Leonardo

#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega16U4__)

// Código para Leonardo

#endif

Y esto para el DUE

#if defined(__SAM3X8E__)

// Código para DUE

#endif