Если действительно сложное конфигурирование (сколь угодно сложное), то - XML. Многие крупные и современные (последних лет) проекты используют такое конфигурирование, луший пример тому FreeSWITCH - IP телефонная станция, soft switch.
Для разбора XML имеется множество парсеров. Самый известный из них (из программного кода)
libxml2. Мы использовали libxml2 в очень крупном (C++) промышленном проекте (тоже из VoIP). Очень успешно.
Наловчившись делать это один раз, у вас практически один и тот же код остаётся на всю жизнь.